Ensure timer never set to zero for millisleep. Bug 1426
[users/jgh/exim.git] / src / src / exim.c
index 09e9c1cba9159e2bc19ad791597c412e937801b6..6a2336450fabc909f74624d2cf528b531eade000 100644 (file)
@@ -310,7 +310,8 @@ struct itimerval itval;
 itval.it_interval.tv_sec = 0;
 itval.it_interval.tv_usec = 0;
 itval.it_value.tv_sec = msec/1000;
-itval.it_value.tv_usec = (msec % 1000) * 1000;
+if ((itval.it_value.tv_usec = (msec % 1000) * 1000) == 0)
+  itval.it_value.tv_usec = 1;
 milliwait(&itval);
 }
 
@@ -399,9 +400,10 @@ if (exim_tvcmp(&now_tv, then_tv) <= 0)
     if (!running_in_test_harness)
       {
       debug_printf("tick check: %lu.%06lu %lu.%06lu\n",
-        then_tv->tv_sec, then_tv->tv_usec, now_tv.tv_sec, now_tv.tv_usec);
+        then_tv->tv_sec, (long) then_tv->tv_usec,
+               now_tv.tv_sec, (long) now_tv.tv_usec);
       debug_printf("waiting %lu.%06lu\n", itval.it_value.tv_sec,
-        itval.it_value.tv_usec);
+        (long) itval.it_value.tv_usec);
       }
     }
 
@@ -807,6 +809,9 @@ fprintf(f, "Support for:");
 #ifndef DISABLE_PRDR
   fprintf(f, " PRDR");
 #endif
+#ifndef DISABLE_OCSP
+  fprintf(f, " OCSP");
+#endif
 #ifdef EXPERIMENTAL_SPF
   fprintf(f, " Experimental_SPF");
 #endif
@@ -822,9 +827,6 @@ fprintf(f, "Support for:");
 #ifdef EXPERIMENTAL_DMARC
   fprintf(f, " Experimental_DMARC");
 #endif
-#ifdef EXPERIMENTAL_OCSP
-  fprintf(f, " Experimental_OCSP");
-#endif
 #ifdef EXPERIMENTAL_PROXY
   fprintf(f, " Experimental_Proxy");
 #endif