summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvasiljevic <zv@archiware.com>2006-03-10 17:32:51 (GMT)
committervasiljevic <zv@archiware.com>2006-03-10 17:32:51 (GMT)
commitd9b33fb71bcfa6d4748a666425b03f62795dde30 (patch)
treea55ad1123fc8aab81fefa25b689ebef773c8baa7
parentd5c641c68b5493cdc670694b1eb3b49ed3b289bd (diff)
downloadtcl-d9b33fb71bcfa6d4748a666425b03f62795dde30.zip
tcl-d9b33fb71bcfa6d4748a666425b03f62795dde30.tar.gz
tcl-d9b33fb71bcfa6d4748a666425b03f62795dde30.tar.bz2
Calls TclpFinalizeSockets() as part
of the TclFinalizeIOSubsystem()
-rw-r--r--generic/tclIO.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index d5e2593..0c4fed8 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.104 2006/02/15 15:43:55 dgp Exp $
+ * RCS: @(#) $Id: tclIO.c,v 1.105 2006/03/10 17:32:51 vasiljevic Exp $
*/
#include "tclInt.h"
@@ -179,6 +179,11 @@ TclFinalizeIOSubsystem(void)
ChannelState *nextCSPtr; /* Iterates over open channels. */
ChannelState *statePtr; /* state of channel stack */
+ /*
+ * Walk all channel state structures known to this thread and
+ * close corresponding channels.
+ */
+
for (statePtr = tsdPtr->firstCSPtr; statePtr != NULL;
statePtr = nextCSPtr) {
chanPtr = statePtr->topChanPtr;
@@ -250,6 +255,8 @@ TclFinalizeIOSubsystem(void)
nextCSPtr = statePtr->nextCSPtr;
Tcl_Release(statePtr);
}
+
+ TclpFinalizeSockets();
TclpFinalizePipes();
}