From 06eab7feb6d8c6533d7d75d939fb1d4f25e809cc Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Thu, 26 Mar 2026 19:44:00 -0400 Subject: [PATCH] Removed three lines of code that were meant to be a test of how much performance can be sped up if the DRC process can be interrupted at much finer intervals. Unfortunately, the method cannot work without an additional method to ensure that magic is immediately aware when a search routine has been entered recursively and to then break out of the search and clean up after itself. For now, I am just commenting out the code so that magic isn't unstable. --- drc/DRCbasic.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drc/DRCbasic.c b/drc/DRCbasic.c index cce7b8eb..f548be34 100644 --- a/drc/DRCbasic.c +++ b/drc/DRCbasic.c @@ -501,9 +501,22 @@ DRCBasicCheck (celldef, checkRect, clipRect, function, cdata) #ifdef MAGIC_WRAPPER /* Execute pending Tcl events, so the DRC process doesn't block. */ + + /* WARNING: This code cannot be enabled until some method is + * worked out to determine if any event resulted in a change + * to the DRC check plane which would invalidate the current + * search. If so, the search must end immediately and the + * area being checked must be reinstated. The code was added + * to see how it speeds up the response time of magic when + * some of the DRC rules are compute-intensive. It speeds up + * performance enough that it is worthwhile to implement the + * method just mentioned. + */ + #if 0 UndoEnable(); while (Tcl_DoOneEvent(TCL_DONT_WAIT)); UndoDisable(); + #endif #endif } drcCifCheck(&arg);