aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2001-12-19 00:24:17 +0000
committerMarcus Brinkmann <[email protected]>2001-12-19 00:24:17 +0000
commita29999710382590734269869b3d075c2a0277bf5 (patch)
treefa3d071cc7881b1e2009fe2b2ee6e959383ddc74
parentUpdate from newpg. (diff)
downloadgpgme-a29999710382590734269869b3d075c2a0277bf5.tar.gz
gpgme-a29999710382590734269869b3d075c2a0277bf5.zip
2001-12-19 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (_gpgme_gpgsm_new): New variable CHILD_FDS. Fill it with the servers fds, and pass it to assuan_pipe_connect.
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/engine-gpgsm.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 38846b0d..9da7d708 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-19 Marcus Brinkmann <[email protected]>
+
+ * 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 <[email protected]>
* keylist.c (gpgme_op_keylist_end): New function.
diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c
index 9ecac07c..1eb1d81c 100644
--- a/gpgme/engine-gpgsm.c
+++ b/gpgme/engine-gpgsm.c
@@ -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,