diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-06-25 20:38:16 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-06-25 20:38:16 (GMT) |
| commit | fdee46ab16b879589155729e6db4fdabe235880f (patch) | |
| tree | ba7a7a4cc25027d8df81784b5a53e2add157f47b /generic/tclTest.c | |
| parent | 94f9cf81ed3e156bd372a3cac249974d1acb4e1d (diff) | |
| parent | 0839047d8bed631eeb82c7c3e26b0f13461717e6 (diff) | |
| download | tcl-fdee46ab16b879589155729e6db4fdabe235880f.zip tcl-fdee46ab16b879589155729e6db4fdabe235880f.tar.gz tcl-fdee46ab16b879589155729e6db4fdabe235880f.tar.bz2 | |
merge 8.6
Diffstat (limited to 'generic/tclTest.c')
| -rw-r--r-- | generic/tclTest.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c index ac01ecf..814d734 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -44,6 +44,7 @@ DLLEXPORT int Tcltest_Init(Tcl_Interp *interp); DLLEXPORT int Tcltest_SafeInit(Tcl_Interp *interp); +EXTERN TCL_NORETURN void Tcltest_Exit(ClientData clientData); /* * Dynamic string shared by TestdcallCmd and DelCallbackProc; used to collect @@ -570,6 +571,10 @@ Tcltest_Init( return TCL_ERROR; } + + /* Finalizer */ + Tcl_SetExitProc(Tcltest_Exit); + /* * Create additional commands and math functions for testing Tcl. */ @@ -797,6 +802,17 @@ Tcltest_SafeInit( return Procbodytest_SafeInit(interp); } +TCL_NORETURN void Tcltest_Exit( + ClientData clientData +) { + int status = PTR2INT(clientData); + Tcl_Finalize(); + TclThreadTestFinalize(); + TclpExit(status); + Tcl_Panic("OS exit failed!"); +} + + /* *---------------------------------------------------------------------- * |
