diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-06-18 19:58:45 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-06-18 19:58:45 (GMT) |
| commit | 0ea82c2d43e73fef5481d22ae75c9f71975eb715 (patch) | |
| tree | f7f3ce61553efb1eb9de900ca3c17efb92ee670e /generic/tclEvent.c | |
| parent | d7b8af55e7a45674c4feb7b912bf4c7ef214855e (diff) | |
| parent | 7679c0513ced1ce6009d339d8e43afdc3f0ad87a (diff) | |
| download | tcl-0ea82c2d43e73fef5481d22ae75c9f71975eb715.zip tcl-0ea82c2d43e73fef5481d22ae75c9f71975eb715.tar.gz tcl-0ea82c2d43e73fef5481d22ae75c9f71975eb715.tar.bz2 | |
merge novem
Diffstat (limited to 'generic/tclEvent.c')
| -rw-r--r-- | generic/tclEvent.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 24bb96f..95c69dd 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -119,6 +119,7 @@ static char * VwaitVarProc(ClientData clientData, Tcl_Interp *interp, const char *name1, const char *name2, int flags); static void InvokeExitHandlers(void); +static void FinalizeThread(int quick); /* *---------------------------------------------------------------------- @@ -983,7 +984,7 @@ Tcl_Exit( * Tcl_Channels that may have data enqueued. */ - Tcl_FinalizeThread(); + FinalizeThread(/* quick */ 1); } TclpExit(status); Tcl_Panic("OS exit failed!"); @@ -1183,7 +1184,7 @@ Tcl_Finalize(void) * This fixes the Tcl Bug #990552. */ - TclFinalizeThreadData(); + TclFinalizeThreadData(/* quick */ 0); /* * Now we can free constants for conversions to/from double. @@ -1269,6 +1270,13 @@ Tcl_Finalize(void) void Tcl_FinalizeThread(void) { + FinalizeThread(/* quick */ 0); +} + +void +FinalizeThread( + int quick) +{ ExitHandler *exitPtr; ThreadSpecificData *tsdPtr; @@ -1309,8 +1317,7 @@ Tcl_FinalizeThread(void) * * Fix [Bug #571002] */ - - TclFinalizeThreadData(); + TclFinalizeThreadData(quick); } /* |
