Tcl Source Code

Artifact [b512c7a065]
Login

Artifact b512c7a065265ebb5e306cc686bfed4e0f399542:

Attachment "no_continue_handler.patch" to ticket [525746ffff] added by mdejong 2002-03-14 07:00:43.
2002-03-13  Mo DeJong  <[email protected]>

	* win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle
	an SEH exception with EXCEPTION_EXECUTE_HANDLER instead
	of restarting the faulting instruction with
	EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an
	example of how restarting could send Tcl into an
	infinite loop. [Patch 525746]

Index: win/tclWinFCmd.c
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWinFCmd.c,v
retrieving revision 1.25
diff -u -r1.25 tclWinFCmd.c
--- win/tclWinFCmd.c	12 Mar 2002 11:32:19 -0000	1.25
+++ win/tclWinFCmd.c	13 Mar 2002 23:51:41 -0000
@@ -186,7 +186,7 @@
 	if ((*tclWinProcs->moveFileProc)(nativeSrc, nativeDst) != FALSE) {
 	    retval = TCL_OK;
 	}
-    } __except (EXCEPTION_CONTINUE_EXECUTION) {}
+    } __except (EXCEPTION_EXECUTE_HANDLER) {}
 
     /*
      * Avoid using control flow statements in the SEH guarded block!
@@ -472,7 +472,7 @@
 	if ((*tclWinProcs->copyFileProc)(nativeSrc, nativeDst, 0) != FALSE) {
 	    retval = TCL_OK;
 	}
-    } __except (EXCEPTION_CONTINUE_EXECUTION) {}
+    } __except (EXCEPTION_EXECUTE_HANDLER) {}
 
     /*
      * Avoid using control flow statements in the SEH guarded block!