From: Ian Jackson Date: Sun, 8 Jan 2017 18:55:17 +0000 (+0000) Subject: gpg agent lockup fix: Interrupt main loop when active_connections_value==0 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=gnupg2.git;a=commitdiff_plain;h=refs%2Fheads%2F841143-bugfix;hp=d3c45bccfc81e9b33f8fc289c252d4cdeeadbd15 gpg agent lockup fix: Interrupt main loop when active_connections_value==0 Otherwise, if this happens (in a parallel thread) after the main loop found shutdown_pending and checked active_connections>=0, the main loop could enter a select which would never wake up. Signed-off-by: Ian Jackson MORE --- diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index 836b317..121bb0e 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -2029,6 +2029,8 @@ adjust_agent_active_connections (int delta) { lock_active_connections(); active_connections_value += delta; + if (active_connections_value == 0) + interrupt_main_thread_loop (); unlock_active_connections(); }