diff options
author | ferrieux <ferrieux@users.sourceforge.net> | 2012-07-23 18:50:05 (GMT) |
---|---|---|
committer | ferrieux <ferrieux@users.sourceforge.net> | 2012-07-23 18:50:05 (GMT) |
commit | 52a0980ad1493619e824df3e4e9dea91c375bd74 (patch) | |
tree | 49b6e381d654290ff2cb4a923985c87ffaf4486b /generic | |
parent | 616d71c51da0642d96de4ffd06ffc2d9027d5851 (diff) | |
download | tcl-52a0980ad1493619e824df3e4e9dea91c375bd74.zip tcl-52a0980ad1493619e824df3e4e9dea91c375bd74.tar.gz tcl-52a0980ad1493619e824df3e4e9dea91c375bd74.tar.bz2 |
[Bug 3545365]: Never try a bg-flush on a dead channel, just like before 2011-08-17.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclIO.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index ea6c2d7..87d5727 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -427,7 +427,10 @@ TclFinalizeIOSubsystem(void) statePtr != NULL; statePtr = statePtr->nextCSPtr) { chanPtr = statePtr->topChanPtr; - if (!GotFlag(statePtr, CHANNEL_INCLOSE | CHANNEL_CLOSED | CHANNEL_DEAD) + if (GotFlag(statePtr, CHANNEL_DEAD)) { + continue; + } + if (!GotFlag(statePtr, CHANNEL_INCLOSE | CHANNEL_CLOSED ) || GotFlag(statePtr, BG_FLUSH_SCHEDULED)) { ResetFlag(statePtr, BG_FLUSH_SCHEDULED); active = 1; |