| diff --git a/third_party/libevent/buffer.c b/third_party/libevent/buffer.c |
| index 64324bb..ebf35c9 100644 |
| --- a/third_party/libevent/buffer.c |
| +++ b/third_party/libevent/buffer.c |
| @@ -356,7 +356,6 @@ int |
| evbuffer_expand(struct evbuffer *buf, size_t datlen) |
| { |
| size_t used = buf->misalign + buf->off; |
| - size_t need; |
| |
| assert(buf->totallen >= used); |
| |
| diff --git a/third_party/libevent/evdns.c b/third_party/libevent/evdns.c |
| index fa23163..f1c70d0 100644 |
| --- a/third_party/libevent/evdns.c |
| +++ b/third_party/libevent/evdns.c |
| @@ -55,7 +55,9 @@ |
| #endif |
| |
| /* #define _POSIX_C_SOURCE 200507 */ |
| +#ifndef _GNU_SOURCE |
| #define _GNU_SOURCE |
| +#endif |
| |
| #ifdef DNS_USE_CPU_CLOCK_FOR_ID |
| #ifdef DNS_USE_OPENSSL_FOR_ID |
| @@ -134,7 +136,7 @@ |
| typedef ev_uint8_t u_char; |
| typedef unsigned int uint; |
| #endif |
| -#include <event.h> |
| +#include "event.h" |
| |
| #define u64 ev_uint64_t |
| #define u32 ev_uint32_t |
| diff --git a/third_party/libevent/evdns.h b/third_party/libevent/evdns.h |
| index 1eb5c38..fca4ac3 100644 |
| --- a/third_party/libevent/evdns.h |
| +++ b/third_party/libevent/evdns.h |
| @@ -165,7 +165,7 @@ extern "C" { |
| #endif |
| |
| /* For integer types. */ |
| -#include <evutil.h> |
| +#include "evutil.h" |
| |
| /** Error codes 0-5 are as described in RFC 1035. */ |
| #define DNS_ERR_NONE 0 |
| diff --git a/third_party/libevent/event.c b/third_party/libevent/event.c |
| index da6cd42..36b1c51 100644 |
| --- a/third_party/libevent/event.c |
| +++ b/third_party/libevent/event.c |
| @@ -107,11 +107,7 @@ static const struct eventop *eventops[] = { |
| /* Global state */ |
| struct event_base *current_base = NULL; |
| extern struct event_base *evsignal_base; |
| -static int use_monotonic; |
| - |
| -/* Handle signals - This is a deprecated interface */ |
| -int (*event_sigcb)(void); /* Signal callback when gotsig is set */ |
| -volatile sig_atomic_t event_gotsig; /* Set in signal handler */ |
| +static int use_monotonic = 1; |
| |
| /* Prototypes */ |
| static void event_queue_insert(struct event_base *, struct event *, int); |
| @@ -124,17 +120,6 @@ static int timeout_next(struct event_base *, struct timeval **); |
| static void timeout_process(struct event_base *); |
| static void timeout_correct(struct event_base *, struct timeval *); |
| |
| -static void |
| -detect_monotonic(void) |
| -{ |
| -#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) |
| - struct timespec ts; |
| - |
| - if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0) |
| - use_monotonic = 1; |
| -#endif |
| -} |
| - |
| static int |
| gettime(struct event_base *base, struct timeval *tp) |
| { |
| @@ -144,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp) |
| } |
| |
| #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) |
| - if (use_monotonic) { |
| - struct timespec ts; |
| - |
| - if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) |
| - return (-1); |
| + struct timespec ts; |
| |
| + if (use_monotonic && |
| + clock_gettime(CLOCK_MONOTONIC, &ts) == 0) { |
| tp->tv_sec = ts.tv_sec; |
| tp->tv_usec = ts.tv_nsec / 1000; |
| return (0); |
| } |
| #endif |
| |
| + use_monotonic = 0; |
| + |
| return (evutil_gettimeofday(tp, NULL)); |
| } |
| |
| @@ -179,10 +164,6 @@ event_base_new(void) |
| if ((base = calloc(1, sizeof(struct event_base))) == NULL) |
| event_err(1, "%s: calloc", __func__); |
| |
| - event_sigcb = NULL; |
| - event_gotsig = 0; |
| - |
| - detect_monotonic(); |
| gettime(base, &base->event_tv); |
| |
| min_heap_ctor(&base->timeheap); |
| @@ -398,12 +379,9 @@ event_process_active(struct event_base *base) |
| ncalls--; |
| ev->ev_ncalls = ncalls; |
| (*ev->ev_callback)((int)ev->ev_fd, ev->ev_res, ev->ev_arg); |
| - if (event_gotsig || base->event_break) { |
| - ev->ev_pncalls = NULL; |
| + if (base->event_break) |
| return; |
| - } |
| } |
| - ev->ev_pncalls = NULL; |
| } |
| } |
| |
| @@ -506,18 +484,6 @@ event_base_loop(struct event_base *base, int flags) |
| break; |
| } |
| |
| - /* You cannot use this interface for multi-threaded apps */ |
| - while (event_gotsig) { |
| - event_gotsig = 0; |
| - if (event_sigcb) { |
| - res = (*event_sigcb)(); |
| - if (res == -1) { |
| - errno = EINTR; |
| - return (-1); |
| - } |
| - } |
| - } |
| - |
| timeout_correct(base, &tv); |
| |
| tv_p = &tv; |
| @@ -808,8 +774,6 @@ int |
| event_del(struct event *ev) |
| { |
| struct event_base *base; |
| - const struct eventop *evsel; |
| - void *evbase; |
| |
| event_debug(("event_del: %p, callback %p", |
| ev, ev->ev_callback)); |
| @@ -819,8 +783,6 @@ event_del(struct event *ev) |
| return (-1); |
| |
| base = ev->ev_base; |
| - evsel = base->evsel; |
| - evbase = base->evbase; |
| |
| assert(!(ev->ev_flags & ~EVLIST_ALL)); |
| |
| @@ -838,7 +800,7 @@ event_del(struct event *ev) |
| |
| if (ev->ev_flags & EVLIST_INSERTED) { |
| event_queue_remove(base, ev, EVLIST_INSERTED); |
| - return (evsel->del(evbase, ev)); |
| + return (base->evsel->del(base->evbase, ev)); |
| } |
| |
| return (0); |
| diff --git a/third_party/libevent/event.h b/third_party/libevent/event.h |
| index d1f5d9e..f0887b9 100644 |
| --- a/third_party/libevent/event.h |
| +++ b/third_party/libevent/event.h |
| @@ -159,7 +159,7 @@ |
| extern "C" { |
| #endif |
| |
| -#include <event-config.h> |
| +#include "event-config.h" |
| #ifdef _EVENT_HAVE_SYS_TYPES_H |
| #include <sys/types.h> |
| #endif |
| @@ -172,7 +172,7 @@ extern "C" { |
| #include <stdarg.h> |
| |
| /* For int types. */ |
| -#include <evutil.h> |
| +#include "evutil.h" |
| |
| #ifdef WIN32 |
| #define WIN32_LEAN_AND_MEAN |
| diff --git a/third_party/libevent/evhttp.h b/third_party/libevent/evhttp.h |
| index cba8be1..48c1d91 100644 |
| --- a/third_party/libevent/evhttp.h |
| +++ b/third_party/libevent/evhttp.h |
| @@ -27,7 +27,7 @@ |
| #ifndef _EVHTTP_H_ |
| #define _EVHTTP_H_ |
| |
| -#include <event.h> |
| +#include "event.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| diff --git a/third_party/libevent/evutil.h b/third_party/libevent/evutil.h |
| index dcb0013..8b664b9 100644 |
| --- a/third_party/libevent/evutil.h |
| +++ b/third_party/libevent/evutil.h |
| @@ -38,7 +38,7 @@ |
| extern "C" { |
| #endif |
| |
| -#include <event-config.h> |
| +#include "event-config.h" |
| #ifdef _EVENT_HAVE_SYS_TIME_H |
| #include <sys/time.h> |
| #endif |