diff options
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r-- | generic/tclIO.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index a449875..606ec75 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.100 2005/10/31 17:15:50 dgp Exp $ + * RCS: @(#) $Id: tclIO.c,v 1.101 2005/11/18 17:15:57 andreas_kupries Exp $ */ #include "tclInt.h" @@ -182,7 +182,6 @@ TclFinalizeIOSubsystem(void) for (statePtr = tsdPtr->firstCSPtr; statePtr != NULL; statePtr = nextCSPtr) { chanPtr = statePtr->topChanPtr; - nextCSPtr = statePtr->nextCSPtr; /* * Set the channel back into blocking mode to ensure that we wait for @@ -240,6 +239,11 @@ TclFinalizeIOSubsystem(void) chanPtr->instanceData = NULL; statePtr->flags |= CHANNEL_DEAD; } + /* + * We look for the next pointer now in case we had one closed on up during + * the current channel's closeproc. (eg: rechan extension). [PT] + */ + nextCSPtr = statePtr->nextCSPtr; } TclpFinalizePipes(); } |