diff options
| author | Werner Koch <[email protected]> | 2019-06-13 06:40:33 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2019-06-13 06:40:33 +0000 |
| commit | 28e620fa169dcbfc2301ae9bea58ebe3ccc3504a (patch) | |
| tree | 28be2b60116d54a3ba83f8297332bf56e5561728 /src/op-support.c | |
| parent | core: Use fully correct command args for gpg --verify. (diff) | |
| download | gpgme-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.c | 8 |
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; } |
