diff options
| author | dgp <dgp@users.sourceforge.net> | 2015-09-23 17:07:40 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2015-09-23 17:07:40 (GMT) |
| commit | c222d15bd1bcda937dad54767c3bd9ed9310e841 (patch) | |
| tree | 96bb15abcaf084d545a65c64ebc9da85434da8ae | |
| parent | 049bb5ecaaf93243a92873e5d1f10bfefcba5ba0 (diff) | |
| parent | f2a99f616709067279365602e55550e6ffcac3f1 (diff) | |
| download | tcl-c222d15bd1bcda937dad54767c3bd9ed9310e841.zip tcl-c222d15bd1bcda937dad54767c3bd9ed9310e841.tar.gz tcl-c222d15bd1bcda937dad54767c3bd9ed9310e841.tar.bz2 | |
[e0a7b3e5f8] Add missing UpdateInterest call in DoRead().
| -rw-r--r-- | generic/tclIO.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 09b2537..0910cc5 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -5336,6 +5336,7 @@ DoReadChars( assert( statePtr->inputEncodingFlags & TCL_ENCODING_END ); assert( !GotFlag(statePtr, CHANNEL_BLOCKED|INPUT_SAW_CR) ); + /* TODO: We don't need this call? */ UpdateInterest(chanPtr); return 0; } @@ -5347,6 +5348,7 @@ DoReadChars( } ResetFlag(statePtr, CHANNEL_BLOCKED|CHANNEL_EOF); statePtr->inputEncodingFlags &= ~TCL_ENCODING_END; + /* TODO: We don't need this call? */ UpdateInterest(chanPtr); return 0; } @@ -7929,6 +7931,11 @@ Tcl_NotifyChannel( */ if (chanPtr->typePtr != NULL) { + /* + * TODO: This call may not be needed. If a handler induced a + * change in interest, that handler should have made its own + * UpdateInterest() call, one would think. + */ UpdateInterest(chanPtr); } @@ -9065,6 +9072,7 @@ DoRead( assert( statePtr->inputEncodingFlags & TCL_ENCODING_END ); assert( !GotFlag(statePtr, CHANNEL_BLOCKED|INPUT_SAW_CR) ); + /* TODO: Don't need this call */ UpdateInterest(chanPtr); return 0; } @@ -9076,6 +9084,7 @@ DoRead( } ResetFlag(statePtr, CHANNEL_BLOCKED|CHANNEL_EOF); statePtr->inputEncodingFlags &= ~TCL_ENCODING_END; + /* TODO: Don't need this call */ UpdateInterest(chanPtr); return 0; } @@ -9142,7 +9151,6 @@ DoRead( */ if (bytesToRead == 0) { - UpdateInterest(chanPtr); break; } @@ -9151,7 +9159,6 @@ DoRead( */ if (GotFlag(statePtr, CHANNEL_STICKY_EOF)) { - UpdateInterest(chanPtr); break; } @@ -9176,7 +9183,6 @@ DoRead( } else if (GotFlag(statePtr, CHANNEL_BLOCKED)) { /* ...and we cannot get more now. */ SetFlag(statePtr, CHANNEL_NEED_MORE_DATA); - UpdateInterest(chanPtr); break; } else { /* ... so we need to get some. */ @@ -9228,6 +9234,7 @@ DoRead( || Tcl_InputBuffered((Tcl_Channel)chanPtr) == 0); assert( !(GotFlag(statePtr, CHANNEL_EOF|CHANNEL_BLOCKED) == (CHANNEL_EOF|CHANNEL_BLOCKED)) ); + UpdateInterest(chanPtr); TclChannelRelease((Tcl_Channel)chanPtr); return (int)(p - dst); } |
