mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-31 11:41:32 +01:00
agent: Fix sock_inotify_fd handling.
* agent/gpg-agent.c (handle_connections): Also check SOCK_INOTIFY_FD when spawning check_onw_socket_thread. When removal of the socket is detected, do same as AGENT_PROBLEM_SOCKET_TAKEOVER. -- GnuPG-bug-id: 6692 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
5e47d5edd8
commit
28364affa6
@ -3055,7 +3055,7 @@ handle_connections (gnupg_fd_t listen_fd,
|
|||||||
have_homedir_inotify = 1;
|
have_homedir_inotify = 1;
|
||||||
|
|
||||||
#if CHECK_OWN_SOCKET_INTERVAL > 0
|
#if CHECK_OWN_SOCKET_INTERVAL > 0
|
||||||
if (!disable_check_own_socket)
|
if (!disable_check_own_socket && sock_inotify_fd == -1)
|
||||||
{
|
{
|
||||||
npth_t thread;
|
npth_t thread;
|
||||||
|
|
||||||
@ -3255,7 +3255,10 @@ handle_connections (gnupg_fd_t listen_fd,
|
|||||||
&& FD_ISSET (sock_inotify_fd, &read_fdset)
|
&& FD_ISSET (sock_inotify_fd, &read_fdset)
|
||||||
&& gnupg_inotify_has_name (sock_inotify_fd, GPG_AGENT_SOCK_NAME))
|
&& gnupg_inotify_has_name (sock_inotify_fd, GPG_AGENT_SOCK_NAME))
|
||||||
{
|
{
|
||||||
shutdown_pending = 1;
|
/* We may not remove the socket (if any), as it may be now
|
||||||
|
in use by another server. */
|
||||||
|
inhibit_socket_removal = 1;
|
||||||
|
shutdown_pending = 2;
|
||||||
close (sock_inotify_fd);
|
close (sock_inotify_fd);
|
||||||
sock_inotify_fd = -1;
|
sock_inotify_fd = -1;
|
||||||
log_info ("socket file has been removed - shutting down\n");
|
log_info ("socket file has been removed - shutting down\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user