summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclIO.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c7c9f9a..c61aa8e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-02 Andreas Kupries <andreask@activestate.com>
+
+ * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre
+ Ferrieux's first patch for [Bug 2270477] with a gentler version,
+ also supplied by him.
+
2008-12-01 Don Porter <dgp@users.sourceforge.net>
* generic/tclParse.c: Coding standards fixups.
diff --git a/generic/tclIO.c b/generic/tclIO.c
index fdd6cba..e6e11d0 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclIO.c,v 1.150 2008/11/25 23:19:01 nijtmans Exp $
+ * RCS: @(#) $Id: tclIO.c,v 1.151 2008/12/02 18:23:25 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -299,7 +299,7 @@ TclFinalizeIOSubsystem(void)
statePtr != NULL;
statePtr = statePtr->nextCSPtr) {
chanPtr = statePtr->topChanPtr;
- if (!(statePtr->flags & CHANNEL_DEAD)) {
+ if (!(statePtr->flags & (CHANNEL_INCLOSE|CHANNEL_CLOSED|CHANNEL_DEAD))) {
active = 1;
break;
}
@@ -364,8 +364,8 @@ TclFinalizeIOSubsystem(void)
*/
chanPtr->instanceData = NULL;
+ SetFlag(statePtr, CHANNEL_DEAD);
}
- SetFlag(statePtr, CHANNEL_DEAD);
}
}