agent: Avoid scheduled checks on socket when inotify is working.
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 1 Nov 2016 04:57:44 +0000 (00:57 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 8 Oct 2018 15:36:01 +0000 (16:36 +0100)
* agent/gpg-agent.c (handle_connections): When inotify is working, we
do not need to schedule a timer to evaluate whether we control our own
socket or not.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Gbp-Pq: Topic gpg-agent-idling
Gbp-Pq: Name agent-Avoid-scheduled-checks-on-socket-when-inotify-.patch

agent/gpg-agent.c

index 92b3d0b1f38eaf2d1ca99dd389c6c72e10b0f7d4..5c906d1752e6e3a556d33a9e045ace41b1fbd1b1 100644 (file)
@@ -3036,6 +3036,8 @@ handle_connections (gnupg_fd_t listen_fd,
 
       /* avoid a fine-grained timer if we don't need one: */
       timertbl[0].interval.tv_sec = need_tick () ? TIMERTICK_INTERVAL : 0;
+      /* avoid waking up to check sockets if we can count on inotify */
+      timertbl[1].interval.tv_sec = (sock_inotify_fd == -1) ? CHECK_OWN_SOCKET_INTERVAL : 0;
 
       /* loop through all timers, fire any registered functions, and
          plan next timer to trigger */