summaryrefslogtreecommitdiffstats
path: root/generic/tclEvent.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-06-16 15:19:41 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-06-16 15:19:41 (GMT)
commit9899c6d8097c67a31bc107c77ff8848bcc23d6db (patch)
treef824e5fe9e245730af806b3a5aabf69b2c8e1e08 /generic/tclEvent.c
parentb700360ad9501defb0b1e2d86353ac8d0db8eef4 (diff)
parent3f61f168eb9d98c28312cdea25b214827c3692f2 (diff)
downloadtcl-9899c6d8097c67a31bc107c77ff8848bcc23d6db.zip
tcl-9899c6d8097c67a31bc107c77ff8848bcc23d6db.tar.gz
tcl-9899c6d8097c67a31bc107c77ff8848bcc23d6db.tar.bz2
Merge up to a197e6853e. Still works. Next checkin restarts the segfaults.
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r--generic/tclEvent.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index ae79cad..95fbf79 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -1030,14 +1030,8 @@ TclInitSubsystems(void)
TclpInitLock();
if (subsystemsInitialized == 0) {
- /*
- * Have to set this bit here to avoid deadlock with the routines
- * below us that call into TclInitSubsystems.
- */
-
- subsystemsInitialized = 1;
- /*
+ /*
* Initialize locks used by the memory allocators before anything
* interesting happens so we can use the allocators in the
* implementation of self-initializing locks.
@@ -1061,6 +1055,7 @@ TclInitSubsystems(void)
TclInitEncodingSubsystem(); /* Process wide encoding init. */
TclpSetInterfaces();
TclInitNamespaceSubsystem();/* Register ns obj type (mutexed). */
+ subsystemsInitialized = 1;
}
TclpInitUnlock();
}
@@ -1402,7 +1397,7 @@ Tcl_VwaitObjCmd(
return TCL_ERROR;
}
nameString = Tcl_GetString(objv[1]);
- if (Tcl_TraceVar(interp, nameString,
+ if (Tcl_TraceVar2(interp, nameString, NULL,
TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
VwaitVarProc, &done) != TCL_OK) {
return TCL_ERROR;
@@ -1420,7 +1415,7 @@ Tcl_VwaitObjCmd(
break;
}
}
- Tcl_UntraceVar(interp, nameString,
+ Tcl_UntraceVar2(interp, nameString, NULL,
TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
VwaitVarProc, &done);