gpgconf: Fix scdaemon reload.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 10 Sep 2015 01:00:03 +0000 (10:00 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 10 Sep 2015 01:00:03 +0000 (10:00 +0900)
* tools/gpgconf-comp.c (scdaemon_runtime_change): Add "scd bye".

--

In GnuPG 2.0.x, it doesn't require newer libassuan which has
ASSUAN_FORCE_CLOSE feature.  We need to send "scd bye" to let
the control finish from command loop.

tools/gpgconf-comp.c

index 2454f93..69d160e 100644 (file)
@@ -1064,7 +1064,7 @@ scdaemon_runtime_change (void)
 {
   gpg_error_t err;
   const char *pgmname;
-  const char *argv[6];
+  const char *argv[7];
   pid_t pid;
 
   /* We use "GETINFO app_running" to see whether the agent is already
@@ -1077,8 +1077,9 @@ scdaemon_runtime_change (void)
   argv[1] = "GETINFO scd_running";
   argv[2] = "/if ${! $?}";
   argv[3] = "scd killscd";
-  argv[4] = "/end";
-  argv[5] = NULL;
+  argv[4] = "scd bye";
+  argv[5] = "/end";
+  argv[6] = NULL;
 
   err = gnupg_spawn_process_fd (pgmname, argv, -1, -1, -1, &pid);
   if (!err)