2001-12-19 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Wed, 19 Dec 2001 00:24:17 +0000 (00:24 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Wed, 19 Dec 2001 00:24:17 +0000 (00:24 +0000)
* engine-gpgsm.c (_gpgme_gpgsm_new): New variable CHILD_FDS.
Fill it with the servers fds, and pass it to assuan_pipe_connect.

trunk/gpgme/ChangeLog
trunk/gpgme/engine-gpgsm.c

index 38846b0d0070623fe7d9c9e70e4f189d38bbc4dd..9da7d708209cec2f6568fd3ec9cf6e18501dbdb5 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (_gpgme_gpgsm_new): New variable CHILD_FDS.
+       Fill it with the servers fds, and pass it to assuan_pipe_connect.
+
 2001-12-18  Marcus Brinkmann  <marcus@g10code.de>
 
        * keylist.c (gpgme_op_keylist_end): New function.
index 9ecac07cd224f3bcd0af423bca526c9747efdd41..1eb1d81c5601c738404f37c54a0f72207b3ed86a 100644 (file)
@@ -133,6 +133,7 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
   GpgsmObject gpgsm;
   char *argv[] = { "gpgsm", "--server", NULL };
   int fds[2];
+  int child_fds[4];
 
   *r_gpgsm = NULL;
   gpgsm = xtrycalloc (1, sizeof *gpgsm);
@@ -179,8 +180,12 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
   gpgsm->message_fd = fds[1];
   gpgsm->message_fd_server = fds[0];
 
+  child_fds[0] = gpgsm->input_fd_server;
+  child_fds[1] = gpgsm->output_fd_server;
+  child_fds[2] = gpgsm->message_fd_server;
+  child_fds[3] = -1;
   err = assuan_pipe_connect (&gpgsm->assuan_ctx,
-                            _gpgme_get_gpgsm_path (), argv);
+                            _gpgme_get_gpgsm_path (), argv, child_fds);
 
   if (!err &&
       (_gpgme_io_set_close_notify (gpgsm->input_fd,