aboutsummaryrefslogtreecommitdiffstats
path: root/agent/call-scd.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2010-11-11 15:07:37 +0000
committerWerner Koch <[email protected]>2010-11-11 15:07:37 +0000
commit2c982dcf86c61a900383c5254f1b10648d933258 (patch)
treebd5f5f584b5a07ebf6f738e4ec249b665cf0ae57 /agent/call-scd.c
parentAdd patches for EncFs (diff)
downloadgnupg-2c982dcf86c61a900383c5254f1b10648d933258.tar.gz
gnupg-2c982dcf86c61a900383c5254f1b10648d933258.zip
Fix bug where scdaemon kills a non-daemon gpg-agent.
Diffstat (limited to 'agent/call-scd.c')
-rw-r--r--agent/call-scd.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/agent/call-scd.c b/agent/call-scd.c
index 43e01981f..34d5254bd 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -399,17 +399,18 @@ start_scd (ctrl_t ctrl)
/* Tell the scdaemon we want him to send us an event signal. We
don't support this for W32CE. */
#ifndef HAVE_W32CE_SYSTEM
- {
- char buf[100];
-
+ if (opt.sigusr2_enabled)
+ {
+ char buf[100];
+
#ifdef HAVE_W32_SYSTEM
- snprintf (buf, sizeof buf, "OPTION event-signal=%lx",
- (unsigned long)get_agent_scd_notify_event ());
+ snprintf (buf, sizeof buf, "OPTION event-signal=%lx",
+ (unsigned long)get_agent_scd_notify_event ());
#else
- snprintf (buf, sizeof buf, "OPTION event-signal=%d", SIGUSR2);
+ snprintf (buf, sizeof buf, "OPTION event-signal=%d", SIGUSR2);
#endif
- assuan_transact (ctx, buf, NULL, NULL, NULL, NULL, NULL, NULL);
- }
+ assuan_transact (ctx, buf, NULL, NULL, NULL, NULL, NULL, NULL);
+ }
#endif /*HAVE_W32CE_SYSTEM*/
primary_scd_ctx = ctx;