aboutsummaryrefslogtreecommitdiffstats
path: root/src/op-support.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-06-13 06:40:33 +0000
committerWerner Koch <[email protected]>2019-06-13 06:40:33 +0000
commit28e620fa169dcbfc2301ae9bea58ebe3ccc3504a (patch)
tree28be2b60116d54a3ba83f8297332bf56e5561728 /src/op-support.c
parentcore: Use fully correct command args for gpg --verify. (diff)
downloadgpgme-28e620fa169dcbfc2301ae9bea58ebe3ccc3504a.tar.gz
gpgme-28e620fa169dcbfc2301ae9bea58ebe3ccc3504a.zip
core: Refactor the wait code utilizing the new fdtable.
* src/fdtable.c, src/fdtable.h: Largely extend. * src/wait-global.c, src/wait-private.c, src/wait-user.c: Remove and move code to ... * src/wait.c: here. (_gpgme_fd_table_init, fd_table_put): Remove. Do not call them. (_gpgme_add_io_cb, _gpgme_add_io_cb_user): Change to use the fdtable. (_gpgme_remove_io_cb, _gpgme_remove_io_cb_user): Ditto. (_gpgme_wait_global_event_cb): Ditto. (gpgme_wait_ext, _gpgme_wait_on_condition): Ditto. * src/wait.h (struct io_cb_tag_s): Add fields 'serial' and 'desc'. Change 'idx' to 'fd'. (struct fd_table): Remove. * src/context.h (struct gpgme_context): Remoce 'fdt'. Rename io_cbs to user_io_cbs for clarity. * src/engine-gpgsm.c: Unify trace output. (start): Pass a description along with the IO handlers. * src/priv-io.h (struct io_select_fd_s): Rename to io_select_s. (io_select_t): New. * src/gpgme.c (_gpgme_cancel_with_err): Replace arg 'ctx' by 'serial'. (gpgme_cancel): Adjust. -- This is the second part of a larger refactoring of the wait/event code. Does currently only work on Unix and with the private wait functions (i.e. the async operations don't yet work). Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/op-support.c')
-rw-r--r--src/op-support.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/op-support.c b/src/op-support.c
index 6affb5e4..874827e1 100644
--- a/src/op-support.c
+++ b/src/op-support.c
@@ -173,7 +173,7 @@ _gpgme_op_reset (gpgme_ctx_t ctx, int type)
return err;
}
- if (type == 1 || (type == 2 && !ctx->io_cbs.add))
+ if (type == 1 || (type == 2 && !ctx->user_io_cbs.add))
{
/* Use private event loop. */
io_cbs.add = _gpgme_add_io_cb;
@@ -182,7 +182,7 @@ _gpgme_op_reset (gpgme_ctx_t ctx, int type)
io_cbs.event = _gpgme_wait_private_event_cb;
io_cbs.event_priv = ctx;
}
- else if (! ctx->io_cbs.add)
+ else if (!ctx->user_io_cbs.add)
{
/* Use global event loop. */
io_cbs.add = _gpgme_add_io_cb;
@@ -194,9 +194,9 @@ _gpgme_op_reset (gpgme_ctx_t ctx, int type)
else
{
/* Use user event loop. */
- io_cbs.add = _gpgme_wait_user_add_io_cb;
+ io_cbs.add = _gpgme_add_io_cb_user;
io_cbs.add_priv = ctx;
- io_cbs.remove = _gpgme_wait_user_remove_io_cb;
+ io_cbs.remove = _gpgme_remove_io_cb_user;
io_cbs.event = _gpgme_wait_user_event_cb;
io_cbs.event_priv = ctx;
}