9c9086191d7dd5a07302d91ee047f43e4a29f51f galt Fri Apr 16 18:01:48 2021 -0700 This is a better location for these constants that relate to clients connecting to the new dynamic-blat gfServers. refs #27355 diff --git src/inc/errCatch.h src/inc/errCatch.h index 15bdb9c..bcaec62 100644 --- src/inc/errCatch.h +++ src/inc/errCatch.h @@ -1,71 +1,61 @@ /* errCatch - help catch errors so that errAborts aren't * fatal, and warn's don't necessarily get printed immediately. * Note that error conditions caught this way will tend to * leak resources unless there are additional wrappers. * * Typical usage is * errCatch = errCatchNew(); * if (errCatchStart(errCatch)) * doFlakyStuff(); * errCatchEnd(errCatch); * if (errCatch->gotError) * warn("Flaky stuff failed: %s", errCatch->message->string); * errCatchFree(&errCatch); * cleanupFlakyStuff(); */ #ifndef ERRCATCH_H #define ERRCATCH_H #ifndef DYSTRING_H #include "dystring.h" #endif -/* for use in deciding what type of error message to output, typical - * network connection timeout is 120 seconds, if elapsed time to this - * error exit is > NET_TIMEOUT_MS, something is taking too long. - * On the other hand, if the QUICKEXIT time of < 500 ms is noted, then - * something else is wrong about the connection. - * (these are used in gfClient and hgBlat for dynamic blat server messages) - */ -#define NET_TIMEOUT_MS 110000 -#define NET_QUICKEXIT_MS 500 - struct errCatch /* Something to help catch errors. */ { struct errCatch *next; /* Next in stack. */ jmp_buf jmpBuf; /* Where to jump back to for recovery. */ struct dyString *message; /* Error message if any */ boolean gotError; /* Some sort of error was caught. */ boolean gotWarning; /* Some sort of error warning was raised. */ }; struct errCatch *errCatchNew(); /* Return new error catching structure. */ void errCatchFree(struct errCatch **pErrCatch); /* Free up resources associated with errCatch */ #define errCatchStart(e) (errCatchPushHandlers(e) && setjmp(e->jmpBuf) == 0) /* Little wrapper around setjmp. This returns TRUE * on the main execution thread, FALSE after abort. */ boolean errCatchPushHandlers(struct errCatch *errCatch); /* Push error handlers. Not usually called directly. * but rather through errCatchStart() macro. Always * returns TRUE. */ void errCatchEnd(struct errCatch *errCatch); /* Restore error handlers and pop self off of catching stack. */ void errCatchReWarn(struct errCatch *errCatch); /* Re-warn any warnings that happened even though no abort happened * to make them visible. */ boolean errCatchFinish(struct errCatch **pErrCatch); /* Finish up error catching. Report error if there is a * problem and return FALSE. If no problem return TRUE. * This handles errCatchEnd and errCatchFree. */ #endif /* ERRCATCH_H */