2001-11-23 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Fri, 23 Nov 2001 00:48:51 +0000 (00:48 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Fri, 23 Nov 2001 00:48:51 +0000 (00:48 +0000)
* engine-gpgsm.c (_gpgme_gpgsm_new): Set CLOEXEC flag for parent
ends of the pipe.

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

index f58faffc34a4e4bff14b706cfc0e44f8d99fe8a7..03a093a65d7371330443442b80cf6529c166a3aa 100644 (file)
@@ -1,3 +1,8 @@
+2001-11-23  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (_gpgme_gpgsm_new): Set CLOEXEC flag for parent
+       ends of the pipe.
+
 2001-11-22  Marcus Brinkmann  <marcus@g10code.de>
 
        * engine-gpgsm.c: Include stdlib.h and string.h.  Also include,
index 127014d4bb411fa04fac55d80d5a453efe75a49b..63f019aa1da19de8c685ba35d8d3030ca09d9da3 100644 (file)
@@ -34,6 +34,7 @@
 #include <string.h>
 #include <sys/types.h>
 #include <assert.h>
+#include <fcntl.h> /* FIXME */
 
 /* FIXME */
 #include "../assuan/assuan-defs.h"
@@ -126,6 +127,7 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
       goto leave;
     }
   gpgsm->input_fd = ip[1];
+  fcntl (ip[1], F_SETFD, FD_CLOEXEC); /* FIXME */
   gpgsm->input_fd_server = ip[0];
   if (_gpgme_io_pipe (op, 1) < 0)
     {
@@ -133,6 +135,7 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
       goto leave;
     }
   gpgsm->output_fd = op[0];
+  fcntl (op[0], F_SETFD, FD_CLOEXEC); /* FIXME */
   gpgsm->output_fd_server = op[1];
   if (_gpgme_io_pipe (mp, 0) < 0)
     {
@@ -140,6 +143,7 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
       goto leave;
     }
   gpgsm->message_fd = mp[1];
+  fcntl (mp[1], F_SETFD, FD_CLOEXEC); /* FIXME */
   gpgsm->message_fd_server = mp[0];
 
   err = assuan_pipe_connect (&gpgsm->assuan_ctx,