summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixPipe.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-05-31 02:30:53 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-05-31 02:30:53 (GMT)
commitea994aa1957bd3faea8f4cdf2ae290d102ae1fe8 (patch)
tree3f9b6d9193106dd231d49d362e80218a14e32d8b /unix/tclUnixPipe.c
parentd344208a62df4671dac9a66fa4589979bc68d7bb (diff)
downloadtcl-ea994aa1957bd3faea8f4cdf2ae290d102ae1fe8.zip
tcl-ea994aa1957bd3faea8f4cdf2ae290d102ae1fe8.tar.gz
tcl-ea994aa1957bd3faea8f4cdf2ae290d102ae1fe8.tar.bz2
Correct the interest masks in the Tcl_CreateFileHandler() calls in
PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe.
Diffstat (limited to 'unix/tclUnixPipe.c')
-rw-r--r--unix/tclUnixPipe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/unix/tclUnixPipe.c b/unix/tclUnixPipe.c
index d0a5e53..57be08f 100644
--- a/unix/tclUnixPipe.c
+++ b/unix/tclUnixPipe.c
@@ -1125,7 +1125,7 @@ PipeWatchProc(
if (psPtr->inFile) {
newmask = mask & (TCL_READABLE | TCL_EXCEPTION);
if (newmask) {
- Tcl_CreateFileHandler(GetFd(psPtr->inFile), mask,
+ Tcl_CreateFileHandler(GetFd(psPtr->inFile), newmask,
(Tcl_FileProc *) Tcl_NotifyChannel,
(ClientData) psPtr->channel);
} else {
@@ -1135,7 +1135,7 @@ PipeWatchProc(
if (psPtr->outFile) {
newmask = mask & (TCL_WRITABLE | TCL_EXCEPTION);
if (newmask) {
- Tcl_CreateFileHandler(GetFd(psPtr->outFile), mask,
+ Tcl_CreateFileHandler(GetFd(psPtr->outFile), newmask,
(Tcl_FileProc *) Tcl_NotifyChannel,
(ClientData) psPtr->channel);
} else {