aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-g13.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-06-07 09:17:53 +0000
committerWerner Koch <[email protected]>2019-06-07 09:17:53 +0000
commit52d8ed8dfb91a2b302c20bee27e9a28b7cb6a518 (patch)
tree427ee906e5d794a4aacaceac7fdfaf3dd79eb180 /src/engine-g13.c
parenttests: Minor fix to run-threaded.c. (diff)
downloadgpgme-52d8ed8dfb91a2b302c20bee27e9a28b7cb6a518.tar.gz
gpgme-52d8ed8dfb91a2b302c20bee27e9a28b7cb6a518.zip
core: Replace the posix close notify mechanism by a new generic one.
* src/fdtable.c, src/fdtable.h: New. * src/posix-io.c (notify_table_item_s): Remove. (notify_table, notify_table_size, notify_table_lock): Remove. (_gpgme_io_pipe): Put new fds into the table. (_gpgme_io_dup): Ditto. (_gpgme_io_close): Replace notify stuff by a call to the fdtable. (_gpgme_io_set_close_notify): Remove. Change all callers to to use _gpgme_fdtable_add_close_notify. * src/Makefile.am (main_sources): Add new files. -- This is the first part or a larger change to unify the tracking of file descriptors. Right now this has only been implemented for Posix and thus the code will not yet build for Windows. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/engine-g13.c')
-rw-r--r--src/engine-g13.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/engine-g13.c b/src/engine-g13.c
index 19dd8f47..7d448595 100644
--- a/src/engine-g13.c
+++ b/src/engine-g13.c
@@ -111,7 +111,7 @@ g13_get_req_version (void)
}
-static void
+static gpg_error_t
close_notify_handler (int fd, void *opaque)
{
engine_g13_t g13 = opaque;
@@ -124,6 +124,7 @@ close_notify_handler (int fd, void *opaque)
g13->status_cb.fd = -1;
g13->status_cb.tag = NULL;
}
+ return 0;
}
@@ -686,8 +687,8 @@ start (engine_g13_t g13, const char *command)
if (g13->status_cb.fd < 0)
return gpg_error_from_syserror ();
- if (_gpgme_io_set_close_notify (g13->status_cb.fd,
- close_notify_handler, g13))
+ if (_gpgme_fdtable_add_close_notify (g13->status_cb.fd,
+ close_notify_handler, g13))
{
_gpgme_io_close (g13->status_cb.fd);
g13->status_cb.fd = -1;