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.
This commit is contained in:
Marcus Brinkmann 2001-12-19 00:24:17 +00:00
parent 102009c336
commit a299997103
2 changed files with 11 additions and 1 deletions

View 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> 2001-12-18 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_op_keylist_end): New function. * keylist.c (gpgme_op_keylist_end): New function.

View File

@ -133,6 +133,7 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
GpgsmObject gpgsm; GpgsmObject gpgsm;
char *argv[] = { "gpgsm", "--server", NULL }; char *argv[] = { "gpgsm", "--server", NULL };
int fds[2]; int fds[2];
int child_fds[4];
*r_gpgsm = NULL; *r_gpgsm = NULL;
gpgsm = xtrycalloc (1, sizeof *gpgsm); gpgsm = xtrycalloc (1, sizeof *gpgsm);
@ -179,8 +180,12 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
gpgsm->message_fd = fds[1]; gpgsm->message_fd = fds[1];
gpgsm->message_fd_server = fds[0]; 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, err = assuan_pipe_connect (&gpgsm->assuan_ctx,
_gpgme_get_gpgsm_path (), argv); _gpgme_get_gpgsm_path (), argv, child_fds);
if (!err && if (!err &&
(_gpgme_io_set_close_notify (gpgsm->input_fd, (_gpgme_io_set_close_notify (gpgsm->input_fd,