6fe66e36fae18d828825a6c551b5bb5ec05afab1 galt Thu Sep 13 11:41:17 2012 -0700 add tracking of connect-failures to hgCustom and hgTracks which may have many bigDataUrls pointing to the same failing site; also fixed a bug in the timeout handling of EINTR diff --git src/hg/hgTracks/renderMain.c src/hg/hgTracks/renderMain.c index acec463..71b6e41 100644 --- src/hg/hgTracks/renderMain.c +++ src/hg/hgTracks/renderMain.c @@ -1,28 +1,29 @@ /* renderMain - execute enough of browser to render list of tracks without touching cart or * writing form. . */ #include "common.h" #include "linefile.h" #include "hash.h" #include "htmshell.h" #include "options.h" #include "errabort.h" #include "portable.h" #include "cheapcgi.h" #include "ra.h" #include "hdb.h" +#include "net.h" #include "hgTracks.h" #include "imageV2.h" static void usage() /* Print out usage and exit - just temporary. */ { errAbort( "hgRenderTracks - execute enough of browser to render a list of tracks\n" "usage:\n" " hgTrackRender track.ra cart.ra output.ps\n" "where track.ra is a trackDb.ra entry flattened out to include stuff inherited from parent\n" "and cart.ra is a file with the cart settings. Both .ra files should just have a single stanza\n" ); } @@ -93,30 +94,31 @@ track->loadItems(track); } verboseTime(2, "After load"); /* Initialize global image box. */ int sideSliceWidth = 0; // Just being explicit if (withLeftLabels) sideSliceWidth = (insideX - gfxBorder*3) + 2; theImgBox = imgBoxStart(database,chromName,winStart,winEnd,(!revCmplDisp),sideSliceWidth,tl.picWidth); makeActiveImage(trackList, NULL); verboseTime(2,"After makeActiveImage"); } int main(int argc, char *argv[]) { +setConnFailuresEnabled(TRUE); if(argc == 1) { // CGI call // htmlPushEarlyHandlers(); XXXX do I need to do this? hPrintDisable(); oldVars = hashNew(10); struct cart *cart = cartForSession(hUserCookie(), excludeVars, oldVars); // setup approriate CGI variables which tell hgTracks code what to do. cartSetBoolean(cart, "hgt.trackImgOnly", TRUE); if(cartVarExists(cart, "jsonp")) { // experimental code to support remote rendering via a jsonp callback