From a29999710382590734269869b3d075c2a0277bf5 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Wed, 19 Dec 2001 00:24:17 +0000 Subject: [PATCH] 2001-12-19 Marcus Brinkmann * engine-gpgsm.c (_gpgme_gpgsm_new): New variable CHILD_FDS. Fill it with the servers fds, and pass it to assuan_pipe_connect. --- gpgme/ChangeLog | 5 +++++ gpgme/engine-gpgsm.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 38846b0..9da7d70 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,8 @@ +2001-12-19 Marcus Brinkmann + + * 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 * keylist.c (gpgme_op_keylist_end): New function. diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c index 9ecac07..1eb1d81 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, -- 2.26.2