mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
agent,dirmngr: Shutdown fix for supervised mode.
* agent/gpg-agent.c (handle_connections): Break if supervised. * dirmngr/dirmngr.c (is_supervised): New. (handle_connections): Break if supervised. -- For supervised agent/dirmngr, 'systemctl stop' behaves just like 'gpgconf --kill', ignoring existing connections. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
09a96c9e1b
commit
f15a643a2d
@ -3115,7 +3115,7 @@ handle_connections (gnupg_fd_t listen_fd,
|
||||
/* Shutdown test. */
|
||||
if (shutdown_pending)
|
||||
{
|
||||
if (active_connections == 0)
|
||||
if (active_connections == 0 || is_supervised)
|
||||
break; /* ready */
|
||||
|
||||
/* Do not accept new connections but keep on running the
|
||||
|
@ -382,6 +382,9 @@ static enum
|
||||
} tor_mode;
|
||||
|
||||
|
||||
/* Flag indicating that we are in supervised mode. */
|
||||
static int is_supervised;
|
||||
|
||||
/* Counter for the active connections. */
|
||||
static int active_connections;
|
||||
|
||||
@ -1303,6 +1306,8 @@ main (int argc, char **argv)
|
||||
if (!opt.quiet)
|
||||
log_info(_("WARNING: \"%s\" is a deprecated option\n"), "--supervised");
|
||||
|
||||
is_supervised = 1;
|
||||
|
||||
/* In supervised mode, we expect file descriptor 3 to be an
|
||||
already opened, listening socket.
|
||||
|
||||
@ -2362,7 +2367,7 @@ handle_connections (assuan_fd_t listen_fd)
|
||||
/* Shutdown test. */
|
||||
if (shutdown_pending)
|
||||
{
|
||||
if (!active_connections)
|
||||
if (!active_connections || is_supervised)
|
||||
break; /* ready */
|
||||
|
||||
/* Do not accept new connections but keep on running the
|
||||
|
Loading…
x
Reference in New Issue
Block a user