aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32-glib-io.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-11-05 02:39:31 +0000
committerMarcus Brinkmann <[email protected]>2009-11-05 02:39:31 +0000
commit59dc98545a2cbd2a6d057b3ec7fe25ebff25f8a4 (patch)
treeed2281c4be062cf971948a9d154e7bbcf4dd3e4d /src/w32-glib-io.c
parent2009-11-05 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-59dc98545a2cbd2a6d057b3ec7fe25ebff25f8a4.tar.gz
gpgme-59dc98545a2cbd2a6d057b3ec7fe25ebff25f8a4.zip
2009-11-05 Marcus Brinkmann <[email protected]>
* priv-io.h (IOSPAWN_FLAG_NOCLOSE): New flag. * w32-io.c (_gpgme_io_spawn): Implement this flag. * posix-io.c (_gpgme_io_spawn): Likewise. * w32-glib-io.c (_gpgme_io_spawn): Likewise. * assuan-support.c (my_spawn): Set this flag.
Diffstat (limited to 'src/w32-glib-io.c')
-rw-r--r--src/w32-glib-io.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/w32-glib-io.c b/src/w32-glib-io.c
index c1542cc0..17d60fc0 100644
--- a/src/w32-glib-io.c
+++ b/src/w32-glib-io.c
@@ -777,8 +777,11 @@ _gpgme_io_spawn (const char *path, char * const argv[], unsigned int flags,
TRACE_LOG1 ("CloseHandle of process failed: ec=%d",
(int) GetLastError ());
- for (i = 0; fd_list[i].fd != -1; i++)
- _gpgme_io_close (fd_list[i].fd);
+ if (! (flags & IOSPAWN_FLAG_NOCLOSE))
+ {
+ for (i = 0; fd_list[i].fd != -1; i++)
+ _gpgme_io_close (fd_list[i].fd);
+ }
for (i = 0; fd_list[i].fd != -1; i++)
if (fd_list[i].dup_to == -1)