diff options
author | dgp <dgp@users.sourceforge.net> | 2014-05-31 02:40:00 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-05-31 02:40:00 (GMT) |
commit | 46ab1371a7cbd2e6d244d043a47d5123a716be33 (patch) | |
tree | 8772939968bbf992cb7f11d20a0a235c7cd4c691 /unix/tclUnixPipe.c | |
parent | a317bfbe0735d86682ee279cd1359576169bb8db (diff) | |
parent | ea994aa1957bd3faea8f4cdf2ae290d102ae1fe8 (diff) | |
download | tcl-46ab1371a7cbd2e6d244d043a47d5123a716be33.zip tcl-46ab1371a7cbd2e6d244d043a47d5123a716be33.tar.gz tcl-46ab1371a7cbd2e6d244d043a47d5123a716be33.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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/unix/tclUnixPipe.c b/unix/tclUnixPipe.c index 9c21b28..a02044e 100644 --- a/unix/tclUnixPipe.c +++ b/unix/tclUnixPipe.c @@ -1143,7 +1143,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, psPtr->channel); } else { Tcl_DeleteFileHandler(GetFd(psPtr->inFile)); @@ -1152,7 +1152,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, psPtr->channel); } else { Tcl_DeleteFileHandler(GetFd(psPtr->outFile)); |