summaryrefslogtreecommitdiff
path: root/ext/IPC-Open3/lib/IPC/Open3.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ext/IPC-Open3/lib/IPC/Open3.pm')
-rw-r--r--ext/IPC-Open3/lib/IPC/Open3.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/IPC-Open3/lib/IPC/Open3.pm b/ext/IPC-Open3/lib/IPC/Open3.pm
index 4396603144..dc19cea549 100644
--- a/ext/IPC-Open3/lib/IPC/Open3.pm
+++ b/ext/IPC-Open3/lib/IPC/Open3.pm
@@ -396,7 +396,9 @@ sub spawn_with_handles {
unless eval { $fd->{handle}->isa('IO::Handle') } ;
# If some of handles to redirect-to coincide with handles to
# redirect, we need to use saved variants:
- $fd->{handle}->fdopen($saved{fileno $fd->{open_as}} || $fd->{open_as},
+ $fd->{handle}->fdopen(defined fileno $fd->{open_as}
+ ? $saved{fileno $fd->{open_as}} || $fd->{open_as}
+ : $fd->{open_as},
$fd->{mode});
}
unless ($^O eq 'MSWin32') {