summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordavygrvy <davygrvy@pobox.com>2004-04-23 07:20:09 (GMT)
committerdavygrvy <davygrvy@pobox.com>2004-04-23 07:20:09 (GMT)
commitb9fbb790fc3e89f64c1034b6ee5af4210c11d12a (patch)
tree88e958c61aa8200f45ed61a91030511bb71521d5 /generic
parentf613f9eed33b82c3d712a4679fa56e3192d9e283 (diff)
downloadtcl-b9fbb790fc3e89f64c1034b6ee5af4210c11d12a.zip
tcl-b9fbb790fc3e89f64c1034b6ee5af4210c11d12a.tar.gz
tcl-b9fbb790fc3e89f64c1034b6ee5af4210c11d12a.tar.bz2
* generic/tclInt.h:
* generic/tclThread.c: * generic/tclEvent.c: * unix/tclUnixThrd.c: * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock and joinLock mutexes can be recovered during Tcl_Finalize.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclEvent.c4
-rw-r--r--generic/tclInt.h3
-rw-r--r--generic/tclThread.c8
3 files changed, 8 insertions, 7 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index 32ec7f8..3c067a4 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclEvent.c,v 1.33 2004/04/23 02:04:54 davygrvy Exp $
+ * RCS: @(#) $Id: tclEvent.c,v 1.34 2004/04/23 07:21:15 davygrvy Exp $
*/
#include "tclInt.h"
@@ -952,7 +952,7 @@ Tcl_Finalize()
TclFinalizeMemorySubsystem();
inFinalize = 0;
}
- TclpInitUnlock();
+ TclFinalizeLock();
}
/*
diff --git a/generic/tclInt.h b/generic/tclInt.h
index f4d1359..c136248 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclInt.h,v 1.152 2004/04/07 22:04:29 hobbs Exp $
+ * RCS: @(#) $Id: tclInt.h,v 1.153 2004/04/23 07:21:18 davygrvy Exp $
*/
#ifndef _TCLINT
@@ -1658,6 +1658,7 @@ EXTERN void TclFinalizeMemorySubsystem _ANSI_ARGS_((void));
EXTERN void TclFinalizeNotifier _ANSI_ARGS_((void));
EXTERN void TclFinalizeAsync _ANSI_ARGS_((void));
EXTERN void TclFinalizeSynchronization _ANSI_ARGS_((void));
+EXTERN void TclFinalizeLock _ANSI_ARGS_((void));
EXTERN void TclFinalizeThreadData _ANSI_ARGS_((void));
EXTERN int TclGlob _ANSI_ARGS_((Tcl_Interp *interp,
char *pattern, Tcl_Obj *unquotedPrefix,
diff --git a/generic/tclThread.c b/generic/tclThread.c
index 5ddbb91..4a2d4b8 100644
--- a/generic/tclThread.c
+++ b/generic/tclThread.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclThread.c,v 1.6 2002/12/10 00:34:15 hobbs Exp $
+ * RCS: @(#) $Id: tclThread.c,v 1.7 2004/04/23 07:21:36 davygrvy Exp $
*/
#include "tclInt.h"
@@ -30,9 +30,9 @@ typedef struct {
char **list; /* List of pointers */
} SyncObjRecord;
-static SyncObjRecord keyRecord;
-static SyncObjRecord mutexRecord;
-static SyncObjRecord condRecord;
+static SyncObjRecord keyRecord = {0, 0, NULL};
+static SyncObjRecord mutexRecord = {0, 0, NULL};
+static SyncObjRecord condRecord = {0, 0, NULL};
/*
* Prototypes of functions used only in this file