7bc26524a7cd5a31d65b7a092f8ae0d835710efc galt Mon Nov 7 16:30:52 2016 -0800 Fixes #18300. Added a missing popAbortHandler in cart.c. Trying to deal with early warnings in hgTables. In our current code, early warnings do not actually work -- instead they usually just produce a duplicate page header. But early aborts do work. So we have decided to convert the hgTables resource output exceeded warnings to errAbort. diff --git src/hg/lib/cart.c src/hg/lib/cart.c index 3d21b9a..fbde6fb 100644 --- src/hg/lib/cart.c +++ src/hg/lib/cart.c @@ -1584,33 +1584,36 @@ cartExclude(cart, sessionVar); if (sameOk(cfgOption("signalsHandler"), "on")) /* most cgis call this routine */ initSigHandlers(hDumpStackEnabled()); char *httpProxy = cfgOption("httpProxy"); /* most cgis call this routine */ if (httpProxy) setenv("http_proxy", httpProxy, TRUE); /* net.c cannot see the cart, pass the value through env var */ return cart; } struct cart *cartAndCookieWithHtml(char *cookieName, char **exclude, struct hash *oldVars, boolean doContentType) /* Load cart from cookie and session cgi variable. Write cookie * and optionally content-type part HTTP preamble to web page. Don't * write any HTML though. */ { +// Note: early abort works fine but early warn does not htmlPushEarlyHandlers(); struct cart *cart = cartForSession(cookieName, exclude, oldVars); popWarnHandler(); +popAbortHandler(); + cartWriteCookie(cart, cookieName); if (doContentType) { puts("Content-Type:text/html"); puts("\n"); } return cart; } struct cart *cartAndCookie(char *cookieName, char **exclude, struct hash *oldVars) /* Load cart from cookie and session cgi variable. Write cookie and * content-type part HTTP preamble to web page. Don't write any HTML though. */ { return cartAndCookieWithHtml(cookieName, exclude, oldVars, TRUE);