diff options
author | dgp <dgp@users.sourceforge.net> | 2016-06-16 15:19:41 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-06-16 15:19:41 (GMT) |
commit | 9899c6d8097c67a31bc107c77ff8848bcc23d6db (patch) | |
tree | f824e5fe9e245730af806b3a5aabf69b2c8e1e08 /generic/tclEvent.c | |
parent | b700360ad9501defb0b1e2d86353ac8d0db8eef4 (diff) | |
parent | 3f61f168eb9d98c28312cdea25b214827c3692f2 (diff) | |
download | tcl-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.c | 13 |
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); |