diff options
author | Daniel Kahn Gillmor <[email protected]> | 2016-11-01 04:14:10 +0000 |
---|---|---|
committer | Daniel Kahn Gillmor <[email protected]> | 2019-07-20 18:16:20 +0000 |
commit | e7e57080914693611887ac755460b4b178f817a6 (patch) | |
tree | ff5aca2f1b5ef97728823c0db70ac43c8c0be3e2 /agent/command.c | |
parent | agent: Allow threads to interrupt main select loop with SIGCONT. (diff) | |
download | gnupg-e7e57080914693611887ac755460b4b178f817a6.tar.gz gnupg-e7e57080914693611887ac755460b4b178f817a6.zip |
agent: Avoid tight timer tick when possible.
* agent/gpg-agent.c (need_tick): Evaluate whether the short-phase
handle_tick() is needed.
(handle_connections): On each cycle of the select loop, adjust whether
we should call handle_tick() or not.
(start_connection_thread_ssh, do_start_connection_thread): Signal the
main loop when the child terminates.
* agent/call-scd.c (start_scd): Call interrupt_main_thread_loop() once
the scdaemon thread context has started up.
--
With this change, an idle gpg-agent that has no scdaemon running only
wakes up once a minute (to check_own_socket).
Thanks to Ian Jackson and NIIBE Yutaka who helped me improve some of
the blocking and corner cases.
Signed-off-by: Daniel Kahn Gillmor <[email protected]>
Gbp-Pq: Topic gpg-agent-idling
Gbp-Pq: Name agent-Avoid-tight-timer-tick-when-possible.patch
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions