diff --git a/ChangeLog b/ChangeLog index fa69e4a4..c4df6844 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,8 @@ Changes in 2.0.3-alpha: o New functions to explicitly reference a socket used by an evhttp object. Patches from David Reiss. o When we send a BEV_EVENT_CONNECTED to indicate connected status, we no longer invoke the write callback as well unless we actually wrote data too. o If the kernel tells us that there are a negative number of bytes to read from a socket, do not believe it. Fixes bug 2841177; found by Alexander Pronchenkov. + o Do not detect whether we have monotonic clock support every time a new event base is created: instead do it only once. Patch taken from Chromium. + Changes in 2.0.2-alpha: o Add a new flag to bufferevents to make all callbacks automatically deferred. diff --git a/event.c b/event.c index 5713f62e..6a509e3f 100644 --- a/event.c +++ b/event.c @@ -151,9 +151,15 @@ detect_monotonic(void) { #if defined(_EVENT_HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) struct timespec ts; + static int use_monotonic_initialized = 0; + + if (use_monotonic_initialized) + return; if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0) use_monotonic = 1; + + use_monotonic_initialized = 1; #endif }