changeset: 68520:adcf03b074b7 user: Gregory P. Smith date: Tue Mar 15 14:56:39 2011 -0400 files: Modules/_posixsubprocess.c description: Fix issue #11432. if the stdin pipe is the same file descriptor as either stdout or stderr in the _posixsubprocess C extension module it would unintentionally close the fds and raise an error. diff -r 08daf3ef6509 -r adcf03b074b7 Modules/_posixsubprocess.c --- a/Modules/_posixsubprocess.c Tue Mar 15 14:55:17 2011 -0400 +++ b/Modules/_posixsubprocess.c Tue Mar 15 14:56:39 2011 -0400 @@ -99,10 +99,10 @@ if (p2cread> 2) { POSIX_CALL(close(p2cread)); } - if (c2pwrite> 2) { + if (c2pwrite> 2 && c2pwrite != p2cread) { POSIX_CALL(close(c2pwrite)); } - if (errwrite != c2pwrite && errwrite> 2) { + if (errwrite != c2pwrite && errwrite != p2cread && errwrite> 2) { POSIX_CALL(close(errwrite)); }

AltStyle によって変換されたページ (->オリジナル) /