cvs diff threadCmd.c (in directory D:\thread_WS\thread\generic\) Index: threadCmd.c =================================================================== RCS file: /cvsroot/tcl/thread/generic/threadCmd.c,v retrieving revision 1.20 diff -c -r1.20 threadCmd.c *** threadCmd.c 2000/11/03 00:04:25 1.20 --- threadCmd.c 2001/04/25 00:13:30 *************** *** 1579,1601 **** ListRemove(tsdPtr); /* ! * Delete all pending thread::send events. ! * By doing this here, we avoid processing them below. */ Tcl_DeleteEvents((Tcl_EventDeleteProc *)ThreadDeleteEvent, NULL); - - /* - * Run all other pending events which we can not sink otherwise. - * We assume that no runnable event will block us indefinitely - * or kick us into a infinite loop, otherwise we're stuck. - */ - - eventFlags |= TCL_DONT_WAIT; - i=100; - while (Tcl_DoOneEvent(eventFlags) && (--i > 0)) { - ; /* empty loop */ - } return TCL_OK; } --- 1580,1592 ---- ListRemove(tsdPtr); /* ! * Delete all pending thread::send events. These are events ! * owned by us. It is up to all other extensions (including Tk) ! * to be responsible for there own events when they recieve a ! * Tcl_CallWhenDeleted notice which will happen shortly. */ Tcl_DeleteEvents((Tcl_EventDeleteProc *)ThreadDeleteEvent, NULL); return TCL_OK; }