diff options
Diffstat (limited to 'libiberty/pex-win32.c')
-rw-r--r-- | libiberty/pex-win32.c | 5 |
1 files changed, 5 insertions, 0 deletions
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"); } |