2009-05-29 Kai Tietz <kai.tietz@onevision.com>
authorKai Tietz <kai.tietz@onevision.com>
Fri, 29 May 2009 20:19:14 +0000 (20:19 +0000)
committerKai Tietz <kai.tietz@onevision.com>
Fri, 29 May 2009 20:19:14 +0000 (20:19 +0000)
        * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.

libiberty/ChangeLog
libiberty/pex-win32.c

index 837dbdaca4d3d1e44f9260db30de19dd30b843fe..bc354cc1763a72c926104b356adf459a567836bc 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-29  Kai Tietz  <kai.tietz@onevision.com>
+
+       * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
+
 2009-05-29  Michael Matz  <matz@suse.de>
 
        * fibheap.c (fibheap_replace_key_data): Make sure we don't early
index 91e0bc882ff1275217ae5bc898d64b95a6d31b79..44274067482c772ce21115b730d46747040e1492 100644 (file)
@@ -915,6 +915,11 @@ static FILE *
 pex_win32_fdopenr (struct pex_obj *obj ATTRIBUTE_UNUSED, int fd,
                   int binary)
 {
+  HANDLE h = (HANDLE) _get_osfhandle (fd);
+  if (h == INVALID_HANDLE_VALUE)
+    return NULL;
+  if (! SetHandleInformation (h, HANDLE_FLAG_INHERIT, 0))
+    return NULL;
   return fdopen (fd, binary ? "rb" : "r");
 }