cdae2fc61c0a4e03c2dee7321c91a42aa1ebdfc0
hiram
  Mon Sep 9 15:43:17 2019 -0700
now getting hgTables into the earlyBotCheck() game and fixup earlyBotCheck() to honor the exception list and default to a delay fraction value of 1.0 refs #23217

diff --git src/hg/lib/botDelay.c src/hg/lib/botDelay.c
index 524c0ac..ea8f0d4 100644
--- src/hg/lib/botDelay.c
+++ src/hg/lib/botDelay.c
@@ -248,33 +248,41 @@
        "To use the genome browser functionality from a Unix command line, "
        "please read <a href='http://genome.ucsc.edu/FAQ/FAQdownloads.html#download36'>our FAQ</a> on this topic. "
        "For further help on how to access our data from a command line, "
        "or if "
        "you think this delay is being imposed unfairly, please contact genome-www@soe.ucsc.edu."
        ,hogHost, asctime(localtime(&now)), botDelayMillis);
 puts("</body></html>");
 cgiExitTime(cgiExitName, enteredMainTime);
 exit(0);
 }       /*      static void hogExit()   */
 
 boolean earlyBotCheck(long enteredMainTime, char *cgiName, double delayFrac, int warnMs, int exitMs)
 /* similar to botDelayCgi but for use before the CGI has started any
  * output or setup the cart of done any MySQL operations.  The boolean
  * return is used later in the CGI after it has done all its setups and
- * started output so it can issue the warning.
+ * started output so it can issue the warning.  Pass in delayFrac 0.0
+ * to use the default 1.0
  */
 {
 boolean issueWarning = FALSE;
+
+if (botException())	/* don't do this if caller is on the exception list */
+    return issueWarning;
+
+if (delayFrac < 0.000001) /* passed in zero, use default 1.0 */
+    delayFrac = 1.0
+
 botDelayMillis = hgBotDelayTimeFrac(delayFrac);
 if (botDelayMillis > 0)
     {
     sleep1000(botDelayMillis);
     if (botDelayMillis > warnMs)
 	{
 	if (botDelayMillis > exitMs)
 	    hogExit(cgiName, enteredMainTime);
 	else
 	    issueWarning = TRUE;
 	}
     }
 return issueWarning;
 }	/*	boolean earlyBotCheck()	*/