diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-28 12:20:34 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-28 12:20:34 (GMT) |
commit | 1923d228324ad6e56842c859e0b51f03feca7eea (patch) | |
tree | 7edd41d82091598dac3ed2678a13b58e58867d3d /generic | |
parent | 7661972907da4bc9f9d49d64cf6db1c0748936f9 (diff) | |
parent | 70e40dd53dda7e7fca32fc8aec28cf6504e7ffec (diff) | |
download | tcl-1923d228324ad6e56842c859e0b51f03feca7eea.zip tcl-1923d228324ad6e56842c859e0b51f03feca7eea.tar.gz tcl-1923d228324ad6e56842c859e0b51f03feca7eea.tar.bz2 |
Merge 8.7
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclIO.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 36889c7..9253084 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -7552,6 +7552,10 @@ Tcl_Eof( ChannelState *statePtr = ((Channel *) chan)->state; /* State of real channel structure. */ + if (GotFlag(statePtr, CHANNEL_NONBLOCKING) + && GotFlag(statePtr, CHANNEL_ENCODING_ERROR) { + return 0; + } return GotFlag(statePtr, CHANNEL_EOF) ? 1 : 0; } @@ -8223,7 +8227,7 @@ Tcl_SetChannelOption( statePtr->inputEncodingFlags = TCL_ENCODING_START; statePtr->outputEncodingState = NULL; statePtr->outputEncodingFlags = TCL_ENCODING_START; - ResetFlag(statePtr, CHANNEL_NEED_MORE_DATA); + ResetFlag(statePtr, CHANNEL_NEED_MORE_DATA|CHANNEL_ENCODING_ERROR); UpdateInterest(chanPtr); return TCL_OK; } else if (HaveOpt(2, "-eofchar")) { |