1*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/event.c b/third_party/libevent/event.c 2*6777b538SAndroid Build Coastguard Workerindex da6cd42..36b1c51 100644 3*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/event.c 4*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/event.c 5*6777b538SAndroid Build Coastguard Worker@@ -107,11 +107,7 @@ static const struct eventop *eventops[] = { 6*6777b538SAndroid Build Coastguard Worker /* Global state */ 7*6777b538SAndroid Build Coastguard Worker struct event_base *current_base = NULL; 8*6777b538SAndroid Build Coastguard Worker extern struct event_base *evsignal_base; 9*6777b538SAndroid Build Coastguard Worker-static int use_monotonic; 10*6777b538SAndroid Build Coastguard Worker- 11*6777b538SAndroid Build Coastguard Worker-/* Handle signals - This is a deprecated interface */ 12*6777b538SAndroid Build Coastguard Worker-int (*event_sigcb)(void); /* Signal callback when gotsig is set */ 13*6777b538SAndroid Build Coastguard Worker-volatile sig_atomic_t event_gotsig; /* Set in signal handler */ 14*6777b538SAndroid Build Coastguard Worker+static int use_monotonic = 1; 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Worker /* Prototypes */ 17*6777b538SAndroid Build Coastguard Worker static void event_queue_insert(struct event_base *, struct event *, int); 18*6777b538SAndroid Build Coastguard Worker@@ -124,17 +120,6 @@ static int timeout_next(struct event_base *, struct timeval **); 19*6777b538SAndroid Build Coastguard Worker static void timeout_process(struct event_base *); 20*6777b538SAndroid Build Coastguard Worker static void timeout_correct(struct event_base *, struct timeval *); 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Worker-static void 23*6777b538SAndroid Build Coastguard Worker-detect_monotonic(void) 24*6777b538SAndroid Build Coastguard Worker-{ 25*6777b538SAndroid Build Coastguard Worker-#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) 26*6777b538SAndroid Build Coastguard Worker- struct timespec ts; 27*6777b538SAndroid Build Coastguard Worker- 28*6777b538SAndroid Build Coastguard Worker- if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0) 29*6777b538SAndroid Build Coastguard Worker- use_monotonic = 1; 30*6777b538SAndroid Build Coastguard Worker-#endif 31*6777b538SAndroid Build Coastguard Worker-} 32*6777b538SAndroid Build Coastguard Worker- 33*6777b538SAndroid Build Coastguard Worker static int 34*6777b538SAndroid Build Coastguard Worker gettime(struct event_base *base, struct timeval *tp) 35*6777b538SAndroid Build Coastguard Worker { 36*6777b538SAndroid Build Coastguard Worker@@ -144,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp) 37*6777b538SAndroid Build Coastguard Worker } 38*6777b538SAndroid Build Coastguard Worker 39*6777b538SAndroid Build Coastguard Worker #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) 40*6777b538SAndroid Build Coastguard Worker- if (use_monotonic) { 41*6777b538SAndroid Build Coastguard Worker- struct timespec ts; 42*6777b538SAndroid Build Coastguard Worker- 43*6777b538SAndroid Build Coastguard Worker- if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) 44*6777b538SAndroid Build Coastguard Worker- return (-1); 45*6777b538SAndroid Build Coastguard Worker+ struct timespec ts; 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Worker+ if (use_monotonic && 48*6777b538SAndroid Build Coastguard Worker+ clock_gettime(CLOCK_MONOTONIC, &ts) == 0) { 49*6777b538SAndroid Build Coastguard Worker tp->tv_sec = ts.tv_sec; 50*6777b538SAndroid Build Coastguard Worker tp->tv_usec = ts.tv_nsec / 1000; 51*6777b538SAndroid Build Coastguard Worker return (0); 52*6777b538SAndroid Build Coastguard Worker } 53*6777b538SAndroid Build Coastguard Worker #endif 54*6777b538SAndroid Build Coastguard Worker 55*6777b538SAndroid Build Coastguard Worker+ use_monotonic = 0; 56*6777b538SAndroid Build Coastguard Worker+ 57*6777b538SAndroid Build Coastguard Worker return (evutil_gettimeofday(tp, NULL)); 58*6777b538SAndroid Build Coastguard Worker } 59*6777b538SAndroid Build Coastguard Worker 60*6777b538SAndroid Build Coastguard Worker@@ -179,10 +164,6 @@ event_base_new(void) 61*6777b538SAndroid Build Coastguard Worker if ((base = calloc(1, sizeof(struct event_base))) == NULL) 62*6777b538SAndroid Build Coastguard Worker event_err(1, "%s: calloc", __func__); 63*6777b538SAndroid Build Coastguard Worker 64*6777b538SAndroid Build Coastguard Worker- event_sigcb = NULL; 65*6777b538SAndroid Build Coastguard Worker- event_gotsig = 0; 66*6777b538SAndroid Build Coastguard Worker- 67*6777b538SAndroid Build Coastguard Worker- detect_monotonic(); 68*6777b538SAndroid Build Coastguard Worker gettime(base, &base->event_tv); 69*6777b538SAndroid Build Coastguard Worker 70*6777b538SAndroid Build Coastguard Worker min_heap_ctor(&base->timeheap); 71*6777b538SAndroid Build Coastguard Worker@@ -398,12 +379,9 @@ event_process_active(struct event_base *base) 72*6777b538SAndroid Build Coastguard Worker ncalls--; 73*6777b538SAndroid Build Coastguard Worker ev->ev_ncalls = ncalls; 74*6777b538SAndroid Build Coastguard Worker (*ev->ev_callback)((int)ev->ev_fd, ev->ev_res, ev->ev_arg); 75*6777b538SAndroid Build Coastguard Worker- if (event_gotsig || base->event_break) { 76*6777b538SAndroid Build Coastguard Worker- ev->ev_pncalls = NULL; 77*6777b538SAndroid Build Coastguard Worker+ if (base->event_break) 78*6777b538SAndroid Build Coastguard Worker return; 79*6777b538SAndroid Build Coastguard Worker- } 80*6777b538SAndroid Build Coastguard Worker } 81*6777b538SAndroid Build Coastguard Worker- ev->ev_pncalls = NULL; 82*6777b538SAndroid Build Coastguard Worker } 83*6777b538SAndroid Build Coastguard Worker } 84*6777b538SAndroid Build Coastguard Worker 85*6777b538SAndroid Build Coastguard Worker@@ -506,18 +484,6 @@ event_base_loop(struct event_base *base, int flags) 86*6777b538SAndroid Build Coastguard Worker break; 87*6777b538SAndroid Build Coastguard Worker } 88*6777b538SAndroid Build Coastguard Worker 89*6777b538SAndroid Build Coastguard Worker- /* You cannot use this interface for multi-threaded apps */ 90*6777b538SAndroid Build Coastguard Worker- while (event_gotsig) { 91*6777b538SAndroid Build Coastguard Worker- event_gotsig = 0; 92*6777b538SAndroid Build Coastguard Worker- if (event_sigcb) { 93*6777b538SAndroid Build Coastguard Worker- res = (*event_sigcb)(); 94*6777b538SAndroid Build Coastguard Worker- if (res == -1) { 95*6777b538SAndroid Build Coastguard Worker- errno = EINTR; 96*6777b538SAndroid Build Coastguard Worker- return (-1); 97*6777b538SAndroid Build Coastguard Worker- } 98*6777b538SAndroid Build Coastguard Worker- } 99*6777b538SAndroid Build Coastguard Worker- } 100*6777b538SAndroid Build Coastguard Worker- 101*6777b538SAndroid Build Coastguard Worker timeout_correct(base, &tv); 102*6777b538SAndroid Build Coastguard Worker 103*6777b538SAndroid Build Coastguard Worker tv_p = &tv; 104*6777b538SAndroid Build Coastguard Worker@@ -808,8 +774,6 @@ int 105*6777b538SAndroid Build Coastguard Worker event_del(struct event *ev) 106*6777b538SAndroid Build Coastguard Worker { 107*6777b538SAndroid Build Coastguard Worker struct event_base *base; 108*6777b538SAndroid Build Coastguard Worker- const struct eventop *evsel; 109*6777b538SAndroid Build Coastguard Worker- void *evbase; 110*6777b538SAndroid Build Coastguard Worker 111*6777b538SAndroid Build Coastguard Worker event_debug(("event_del: %p, callback %p", 112*6777b538SAndroid Build Coastguard Worker ev, ev->ev_callback)); 113*6777b538SAndroid Build Coastguard Worker@@ -819,8 +783,6 @@ event_del(struct event *ev) 114*6777b538SAndroid Build Coastguard Worker return (-1); 115*6777b538SAndroid Build Coastguard Worker 116*6777b538SAndroid Build Coastguard Worker base = ev->ev_base; 117*6777b538SAndroid Build Coastguard Worker- evsel = base->evsel; 118*6777b538SAndroid Build Coastguard Worker- evbase = base->evbase; 119*6777b538SAndroid Build Coastguard Worker 120*6777b538SAndroid Build Coastguard Worker assert(!(ev->ev_flags & ~EVLIST_ALL)); 121*6777b538SAndroid Build Coastguard Worker 122*6777b538SAndroid Build Coastguard Worker@@ -838,7 +800,7 @@ event_del(struct event *ev) 123*6777b538SAndroid Build Coastguard Worker 124*6777b538SAndroid Build Coastguard Worker if (ev->ev_flags & EVLIST_INSERTED) { 125*6777b538SAndroid Build Coastguard Worker event_queue_remove(base, ev, EVLIST_INSERTED); 126*6777b538SAndroid Build Coastguard Worker- return (evsel->del(evbase, ev)); 127*6777b538SAndroid Build Coastguard Worker+ return (base->evsel->del(base->evbase, ev)); 128*6777b538SAndroid Build Coastguard Worker } 129*6777b538SAndroid Build Coastguard Worker 130*6777b538SAndroid Build Coastguard Worker return (0); 131*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/event.h b/third_party/libevent/event.h 132*6777b538SAndroid Build Coastguard Workerindex d1f5d9e..f0887b9 100644 133*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/event.h 134*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/event.h 135*6777b538SAndroid Build Coastguard Worker@@ -159,7 +159,7 @@ 136*6777b538SAndroid Build Coastguard Worker extern "C" { 137*6777b538SAndroid Build Coastguard Worker #endif 138*6777b538SAndroid Build Coastguard Worker 139*6777b538SAndroid Build Coastguard Worker-#include <event-config.h> 140*6777b538SAndroid Build Coastguard Worker+#include "event-config.h" 141*6777b538SAndroid Build Coastguard Worker #ifdef _EVENT_HAVE_SYS_TYPES_H 142*6777b538SAndroid Build Coastguard Worker #include <sys/types.h> 143*6777b538SAndroid Build Coastguard Worker #endif 144*6777b538SAndroid Build Coastguard Worker@@ -172,7 +172,7 @@ extern "C" { 145*6777b538SAndroid Build Coastguard Worker #include <stdarg.h> 146*6777b538SAndroid Build Coastguard Worker 147*6777b538SAndroid Build Coastguard Worker /* For int types. */ 148*6777b538SAndroid Build Coastguard Worker-#include <evutil.h> 149*6777b538SAndroid Build Coastguard Worker+#include "evutil.h" 150*6777b538SAndroid Build Coastguard Worker 151*6777b538SAndroid Build Coastguard Worker #ifdef WIN32 152*6777b538SAndroid Build Coastguard Worker #define WIN32_LEAN_AND_MEAN 153*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/evutil.h b/third_party/libevent/evutil.h 154*6777b538SAndroid Build Coastguard Workerindex dcb0013..8b664b9 100644 155*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/evutil.h 156*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/evutil.h 157*6777b538SAndroid Build Coastguard Worker@@ -38,7 +38,7 @@ 158*6777b538SAndroid Build Coastguard Worker extern "C" { 159*6777b538SAndroid Build Coastguard Worker #endif 160*6777b538SAndroid Build Coastguard Worker 161*6777b538SAndroid Build Coastguard Worker-#include <event-config.h> 162*6777b538SAndroid Build Coastguard Worker+#include "event-config.h" 163*6777b538SAndroid Build Coastguard Worker #ifdef _EVENT_HAVE_SYS_TIME_H 164*6777b538SAndroid Build Coastguard Worker #include <sys/time.h> 165*6777b538SAndroid Build Coastguard Worker #endif 166