diff options
-rw-r--r-- | win/tclWinTime.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/win/tclWinTime.c b/win/tclWinTime.c index 931f906..2c10978 100644 --- a/win/tclWinTime.c +++ b/win/tclWinTime.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: tclWinTime.c,v 1.24 2004/04/06 22:25:58 dgp Exp $ + * RCS: @(#) $Id: tclWinTime.c,v 1.25 2004/04/23 07:12:08 davygrvy Exp $ */ #include "tclInt.h" @@ -434,7 +434,11 @@ StopCalibration( ClientData unused ) /* Client data is unused */ { SetEvent( timeInfo.exitEvent ); - WaitForSingleObject( timeInfo.calibrationThread, INFINITE ); + /* + * If Tcl_Finalize was called from DllMain, the calibration thread + * is in a paused state so we need to timeout and continue. + */ + WaitForSingleObject( timeInfo.calibrationThread, 100 ); CloseHandle( timeInfo.exitEvent ); CloseHandle( timeInfo.calibrationThread ); } |