summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/pipe.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/pipe.cc')
-rw-r--r--winsup/cygwin/pipe.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc
index f131fd43f..a84aeee60 100644
--- a/winsup/cygwin/pipe.cc
+++ b/winsup/cygwin/pipe.cc
@@ -133,9 +133,12 @@ fhandler_pipe::fixup_after_fork (HANDLE parent)
int
fhandler_pipe::dup (fhandler_base *child)
{
- int res = fhandler_base::dup (child);
- if (res)
- return res;
+ if (get_handle ())
+ {
+ int res = fhandler_base::dup (child);
+ if (res)
+ return res;
+ }
fhandler_pipe *ftp = (fhandler_pipe *) child;