X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/043b12481513cec52c31717c8ad5248d2b344ad2..c1cc0506c3069a9d93d71321f9578150662ede91:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index 8a9de72ac..102d8504c 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -12,6 +12,13 @@ Also a few functions that don't naturally fit elsewhere. */ #include "exim.h" +#ifdef USE_GNUTLS +# include +# if GNUTLS_VERSION_NUMBER < 0x030103 && !defined(DISABLE_OCSP) +# define DISABLE_OCSP +# endif +#endif + extern void init_lookup_list(void); @@ -267,6 +274,10 @@ will wait for ever, so we panic in this instance. (There was a case of this when a bug in a function that calls milliwait() caused it to pass invalid data. That's when I added the check. :-) +We assume it to be not worth sleeping for under 100us; this value will +require revisiting as hardware advances. This avoids the issue of +a zero-valued timer setting meaning "never fire". + Argument: an itimerval structure containing the interval Returns: nothing */ @@ -276,6 +287,9 @@ milliwait(struct itimerval *itval) { sigset_t sigmask; sigset_t old_sigmask; + +if (itval->it_value.tv_usec < 100 && itval->it_value.tv_sec == 0) + return; (void)sigemptyset(&sigmask); /* Empty mask */ (void)sigaddset(&sigmask, SIGALRM); /* Add SIGALRM */ (void)sigprocmask(SIG_BLOCK, &sigmask, &old_sigmask); /* Block SIGALRM */ @@ -832,8 +846,8 @@ fprintf(f, "Support for:"); #ifdef EXPERIMENTAL_PROXY fprintf(f, " Experimental_Proxy"); #endif -#ifdef EXPERIMENTAL_TPDA - fprintf(f, " Experimental_TPDA"); +#ifdef EXPERIMENTAL_EVENT + fprintf(f, " Experimental_Event"); #endif #ifdef EXPERIMENTAL_REDIS fprintf(f, " Experimental_Redis");