Check CLOCK_MONOTONIC_* at runtime if needed.

(We need this to avoid compile errors on cygwin.  Fixes github issue
75.)
This commit is contained in:
Nick Mathewson 2013-08-19 10:11:21 -04:00
parent 3807a30b03
commit 911abf3dd2

View File

@ -184,12 +184,13 @@ evutil_configure_monotonic_time_(struct evutil_monotonic_timer *base,
struct timespec ts;
#ifdef CLOCK_MONOTONIC_COARSE
#if CLOCK_MONOTONIC_COARSE < 0
/* Technically speaking, nothing keeps CLOCK_* from being negative (as
* far as I know). This check and the one below make sure that it's
* safe for us to use -1 as an "unset" value. */
#error "I didn't expect CLOCK_MONOTONIC_COARSE to be < 0"
#endif
if (CLOCK_MONOTONIC_COARSE < 0) {
/* Technically speaking, nothing keeps CLOCK_* from being
* negative (as far as I know). This check and the one below
* make sure that it's safe for us to use -1 as an "unset"
* value. */
event_errx(1,"I didn't expect CLOCK_MONOTONIC_COARSE to be < 0");
}
if (! precise && ! fallback) {
if (clock_gettime(CLOCK_MONOTONIC_COARSE, &ts) == 0) {
base->monotonic_clock = CLOCK_MONOTONIC_COARSE;
@ -202,9 +203,9 @@ evutil_configure_monotonic_time_(struct evutil_monotonic_timer *base,
return 0;
}
#if CLOCK_MONOTONIC < 0
#error "I didn't expect CLOCK_MONOTONIC to be < 0"
#endif
if (CLOCK_MONOTONIC < 0) {
event_errx(1,"I didn't expect CLOCK_MONOTONIC to be < 0");
}
base->monotonic_clock = -1;
return 0;