Home | History | Annotate | Download | only in libevent
      1 diff --git a/third_party/libevent/evdns.c b/third_party/libevent/evdns.c
      2 index f07ecc9..da6ea19 100644
      3 --- a/third_party/libevent/evdns.c
      4 +++ b/third_party/libevent/evdns.c
      5 @@ -134,7 +134,7 @@
      6  typedef ev_uint8_t u_char;
      7  typedef unsigned int uint;
      8  #endif
      9 -#include <event.h>
     10 +#include "event.h"
     11 
     12  #define u64 ev_uint64_t
     13  #define u32 ev_uint32_t
     14 diff --git a/third_party/libevent/evdns.h b/third_party/libevent/evdns.h
     15 index 1eb5c38..fca4ac3 100644
     16 --- a/third_party/libevent/evdns.h
     17 +++ b/third_party/libevent/evdns.h
     18 @@ -165,7 +165,7 @@ extern "C" {
     19  #endif
     20 
     21  /* For integer types. */
     22 -#include <evutil.h>
     23 +#include "evutil.h"
     24 
     25  /** Error codes 0-5 are as described in RFC 1035. */
     26  #define DNS_ERR_NONE 0
     27 diff --git a/third_party/libevent/event-config.h b/third_party/libevent/event-config.h
     28 new file mode 100644
     29 index 0000000..78a4727
     30 --- /dev/null
     31 +++ b/third_party/libevent/event-config.h
     32 @@ -0,0 +1,16 @@
     33 +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
     34 +// Use of this source code is governed by a BSD-style license that can be
     35 +// found in the LICENSE file.
     36 +
     37 +// This file is Chromium-specific, and brings in the appropriate
     38 +// event-config.h depending on your platform.
     39 +
     40 +#if defined(__APPLE__)
     41 +#include "mac/event-config.h"
     42 +#elif defined(__linux__)
     43 +#include "linux/event-config.h"
     44 +#elif defined(__FreeBSD__)
     45 +#include "freebsd/event-config.h"
     46 +#else
     47 +#error generate event-config.h for your platform
     48 +#endif
     49 diff --git a/third_party/libevent/event.h b/third_party/libevent/event.h
     50 index cfa0fc3..72e9b8b 100644
     51 --- a/third_party/libevent/event.h
     52 +++ b/third_party/libevent/event.h
     53 @@ -159,7 +159,7 @@
     54  extern "C" {
     55  #endif
     56  
     57 -#include <event-config.h>
     58 +#include "event-config.h"
     59  #ifdef _EVENT_HAVE_SYS_TYPES_H
     60  #include <sys/types.h>
     61  #endif
     62 @@ -172,7 +172,7 @@ extern "C" {
     63  #include <stdarg.h>
     64  
     65  /* For int types. */
     66 -#include <evutil.h>
     67 +#include "evutil.h"
     68  
     69  #ifdef WIN32
     70  #define WIN32_LEAN_AND_MEAN
     71 diff --git a/third_party/libevent/evutil.h b/third_party/libevent/evutil.h
     72 index dcb0013..8b664b9 100644
     73 --- a/third_party/libevent/evutil.h
     74 +++ b/third_party/libevent/evutil.h
     75 @@ -38,7 +38,7 @@
     76  extern "C" {
     77  #endif
     78  
     79 -#include <event-config.h>
     80 +#include "event-config.h"
     81  #ifdef _EVENT_HAVE_SYS_TIME_H
     82  #include <sys/time.h>
     83  #endif
     84 diff --git a/third_party/libevent/README.chromium b/third_party/libevent/README.chromium
     85 index 9969566..7e5f8ba 100644
     86 diff --git a/third_party/libevent/event.c b/third_party/libevent/event.c
     87 index 1253352..8b6cae5 100644
     88 --- a/third_party/libevent/event.c
     89 +++ b/third_party/libevent/event.c
     90 @@ -107,7 +107,7 @@ static const struct eventop *eventops[] = {
     91  /* Global state */
     92  struct event_base *current_base = NULL;
     93  extern struct event_base *evsignal_base;
     94 -static int use_monotonic;
     95 +static int use_monotonic = 1;
     96  
     97  /* Prototypes */
     98  static void	event_queue_insert(struct event_base *, struct event *, int);
     99 @@ -120,17 +120,6 @@ static int	timeout_next(struct event_base *, struct timeval **);
    100  static void	timeout_process(struct event_base *);
    101  static void	timeout_correct(struct event_base *, struct timeval *);
    102  
    103 -static void
    104 -detect_monotonic(void)
    105 -{
    106 -#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
    107 -	struct timespec	ts;
    108 -
    109 -	if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
    110 -		use_monotonic = 1;
    111 -#endif
    112 -}
    113 -
    114  static int
    115  gettime(struct event_base *base, struct timeval *tp)
    116  {
    117 @@ -140,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp)
    118  	}
    119  
    120  #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
    121 -	if (use_monotonic) {
    122 -		struct timespec	ts;
    123 -
    124 -		if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1)
    125 -			return (-1);
    126 +	struct timespec	ts;
    127  
    128 +	if (use_monotonic &&
    129 +	    clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {
    130  		tp->tv_sec = ts.tv_sec;
    131  		tp->tv_usec = ts.tv_nsec / 1000;
    132  		return (0);
    133  	}
    134  #endif
    135  
    136 +	use_monotonic = 0;
    137 +
    138  	return (evutil_gettimeofday(tp, NULL));
    139  }
    140  
    141 @@ -175,7 +164,6 @@ event_base_new(void)
    142  	if ((base = calloc(1, sizeof(struct event_base))) == NULL)
    143  		event_err(1, "%s: calloc", __func__);
    144  
    145 -	detect_monotonic();
    146  	gettime(base, &base->event_tv);
    147  	
    148  	min_heap_ctor(&base->timeheap);
    149