src/lib/errabort.c 1.14

1.14 2009/06/04 17:53:20 markd
added tmp debugging code track down harmless but annoying warn/abort stack underflows
Index: src/lib/errabort.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/errabort.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -b -B -U 4 -r1.13 -r1.14
--- src/lib/errabort.c	10 Nov 2004 00:10:50 -0000	1.13
+++ src/lib/errabort.c	4 Jun 2009 17:53:20 -0000	1.14
@@ -16,8 +16,10 @@
 #include "errabort.h"
 
 static char const rcsid[] = "$Id$";
 
+int errAbortDebugPopUnderflow = FALSE;  // FIXME tmp hack to try to find source of popWarnHandler underflows in browse
+
 static void defaultVaWarn(char *format, va_list args)
 /* Default error message handler. */
 {
 if (format != NULL) {
@@ -69,9 +71,13 @@
 void popWarnHandler()
 /* Revert to old warn handler. */
 {
 if (warnIx <= 0)
+    {
+    if (errAbortDebugPopUnderflow)
+        dumpStack("popWarnHandler underflow");
     errAbort("Too many popWarnHandlers\n");
+    }
 --warnIx;
 }
 
 static void defaultAbort()
@@ -133,9 +139,13 @@
 void popAbortHandler()
 /* Revert to old abort handler. */
 {
 if (abortIx <= 0)
+    {
+    if (errAbortDebugPopUnderflow)
+        dumpStack("popWarnHandler underflow");
     errAbort("Too many popAbortHandlers\n");
+    }
 --abortIx;
 }
 
 static void debugAbort()