aboutsummaryrefslogtreecommitdiffstats
path: root/agent/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/command.c')
-rw-r--r--agent/command.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/agent/command.c b/agent/command.c
index f5787621c..e3e51f4dd 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -1362,8 +1362,11 @@ static int
cmd_killagent (assuan_context_t ctx, char *line)
{
ctrl_t ctrl = assuan_get_pointer (ctx);
+
+ (void)line;
+
ctrl->server_local->stopme = 1;
- return 0;
+ return gpg_error (GPG_ERR_EOF);
}
/* RELOADAGENT
@@ -1373,6 +1376,9 @@ cmd_killagent (assuan_context_t ctx, char *line)
static int
cmd_reloadagent (assuan_context_t ctx, char *line)
{
+ (void)ctx;
+ (void)line;
+
agent_sighup_action ();
return 0;
}
@@ -1666,7 +1672,7 @@ start_command_handler (ctrl_t ctrl, gnupg_fd_t listen_fd, gnupg_fd_t fd)
for (;;)
{
rc = assuan_accept (ctx);
- if (rc == -1)
+ if (gpg_err_code (rc) == GPG_ERR_EOF || rc == -1)
{
break;
}