IPC::Open3::open3() shouldn't fail if any of *STD{IN,OUT,ERR} are localized.
authorNicholas Clark <nick@ccl4.org>
Sun, 5 Jun 2011 13:58:39 +0000 (15:58 +0200)
committerNicholas Clark <nick@ccl4.org>
Sat, 11 Jun 2011 06:48:14 +0000 (08:48 +0200)
commit031f91ce84f46612589c760c55adb30af25b87b5
tree6a2b1a6e6e8a58f34eca8efc49a45704aa5f8468
parentf598f6deabaea2ddb1fe1242577961f817614c8b
IPC::Open3::open3() shouldn't fail if any of *STD{IN,OUT,ERR} are localized.

Previously it would fail on Win32, because spawn_with_handles() would attempt
to duplicate all three, ignoring failures at this point, but then report
failure to close any as a fatal error, even if this was because the earlier
dup-ing had failed.

Also avoid a warning in the *nix code path in open3() if STDERR is localized
(and hence fileno STDERR is undefined).
ext/IPC-Open3/lib/IPC/Open3.pm
ext/IPC-Open3/t/IPC-Open3.t
pod/perldelta.pod