diff options
-rw-r--r-- | libiberty/ChangeLog | 4 | ||||
-rw-r--r-- | libiberty/pex-win32.c | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 837dbda..bc354cc 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -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 diff --git a/libiberty/pex-win32.c b/libiberty/pex-win32.c index 91e0bc8..4427406 100644 --- a/libiberty/pex-win32.c +++ b/libiberty/pex-win32.c @@ -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"); } |