65bf003397e55927776facd7654de161ea8c1e20 lrnassar Fri Jan 30 15:59:33 2026 -0800 Downloading our major CDNs and changing their references to all be local, there are some more corner cases that were low priority as discussed in the ticket. This work is done to improve performance, expecially for overseas users. Refs #33998 diff --git src/hg/hgTracks/mainMain.c src/hg/hgTracks/mainMain.c index 3b3c243cdcd..c0d69df6bf6 100644 --- src/hg/hgTracks/mainMain.c +++ src/hg/hgTracks/mainMain.c @@ -1,94 +1,94 @@ /* hgTracks - Human Genome browser main cgi script. */ /* Copyright (C) 2013 The Regents of the University of California * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #include "common.h" #include "linefile.h" #include "portable.h" #include "memalloc.h" #include "localmem.h" #include "hCommon.h" #include "obscure.h" #include "dystring.h" #include "hash.h" #include "cheapcgi.h" #include "htmshell.h" #include "web.h" #include "cart.h" #include "hdb.h" #include "hui.h" #include "hgFind.h" #include "hgTracks.h" #include "versionInfo.h" #include "net.h" #include "search.h" #include "imageV2.h" #include "extTools.h" #include "botDelay.h" #include "hgConfig.h" #include #include boolean issueBotWarning; long enteredMainTime = 0; int main(int argc, char *argv[]) { enteredMainTime = clock1000(); measureTime(NULL); // This is generic CGI setup code: Should be moved one day into a generic function // combined with the code cart.c:genericCgiSetup() ? cfgSetMaxMem(); // read hg.conf and set the maxMem if there cfgSetLogCgiVars(); // set logging of the CGI vars issueBotWarning = earlyBotCheck(enteredMainTime, "hgTracks", delayFraction, 0, 0, "html"); browserName = hBrowserName(); organization = "UCSC"; /* Push very early error handling - this is just * for the benefit of the cgiVarExists, which * somehow can't be moved effectively into doMiddle. */ htmlPushEarlyHandlers(); cgiSpoof(&argc, argv); char * link = webTimeStampedLinkToResourceOnFirstCall("HGStyle.css",TRUE); // resource file link if (link) // wrapped in html htmlSetStyle(link); oldVars = hashNew(10); if (cgiVarExists("hgt.redirectTool")) { // user has selected one of the tools in View > In external tools: Do not plot, just redirect. printf("Content-type: text/html\n\n"); errAbortSetDoContentType(FALSE); cart = cartForSession(hUserCookie(), NULL, NULL); extToolRedirect(cart, cgiString("hgt.redirectTool")); } else { httpHeaders = slPairNew("Cache-Control", "no-store"); cartHtmlShell("UCSC Genome Browser v"CGI_VERSION, doMiddle, hUserCookie(), excludeVars, oldVars); } // TODO: better place for this ? -puts("\n"); +webIncludeResourceFile("font-awesome.min.css"); if (measureTiming) measureTime("Time to write and close cart"); if (measureTiming) { fprintf(stdout, "Overall total time: %ld millis
\n", clock1000() - enteredMainTime); } cgiExitTime("hgTracks", enteredMainTime); // print out some resource usage stats struct rusage usage; int stat = getrusage(RUSAGE_SELF, &usage); if (stat == 0) // if you change this printf, then increment the number after RESOURCE: fprintf(stderr, "RESOURCE: 1 %ld %ld %ld\n",usage.ru_utime.tv_sec,usage.ru_stime.tv_sec, usage.ru_maxrss); return 0; }