Merge remote-tracking branch 'origin/patches-2.0'
authorNick Mathewson <nickm@torproject.org>
Mon, 16 Jul 2012 19:44:07 +0000 (15:44 -0400)
committerNick Mathewson <nickm@torproject.org>
Mon, 16 Jul 2012 19:44:07 +0000 (15:44 -0400)
Conflicts:
event.c
win32select.c

1  2 
event.c
include/event2/buffer.h
include/event2/util.h
win32select.c

diff --cc event.c
index 9019cb4f83f11fbae55102a200a16b545eaf867d,09df46b032d416a2f3d844ae70e83e280dcaff28..79664d4867495f44b69f629d0faf6132eec93ed5
+++ b/event.c
@@@ -2005,7 -1846,8 +2005,8 @@@ event_pending(const struct event *ev, s
  {
        int flags = 0;
  
 -      _event_debug_assert_is_setup(ev);
+       EVBASE_ACQUIRE_LOCK(ev->ev_base, th_base_lock);
 +      event_debug_assert_is_setup_(ev);
  
        if (ev->ev_flags & EVLIST_INSERTED)
                flags |= (ev->ev_events & (EV_READ|EV_WRITE|EV_SIGNAL));
        if (tv != NULL && (flags & event & EV_TIMEOUT)) {
                struct timeval tmp = ev->ev_timeout;
                tmp.tv_usec &= MICROSECONDS_MASK;
 -#if defined(_EVENT_HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
                /* correctly remamp to real time */
                evutil_timeradd(&ev->ev_base->tv_clock_diff, &tmp, tv);
 -#else
 -              *tv = tmp;
 -#endif
        }
  
+       EVBASE_RELEASE_LOCK(ev->ev_base, th_base_lock);
        return (flags & event);
  }
  
Simple merge
Simple merge
diff --cc win32select.c
index 2c407e4a09bab94056e1e8b36413bb68933ff8fd,fbd27a43768fb3bcf83fa876fbc56144e50969b8..67c6f97dd87f562953542ebcdfedc7cb2eb57579
@@@ -304,7 -298,7 +304,7 @@@ win32_dispatch(struct event_base *base
            win32op->readset_out->fd_count : win32op->writeset_out->fd_count;
  
        if (!fd_count) {
-               long msec = evutil_tv_to_msec_(tv);
 -              long msec = tv ? evutil_tv_to_msec(tv) : LONG_MAX;
++              long msec = tv ? evutil_tv_to_msec_(tv) : LONG_MAX;
                /* Sleep's DWORD argument is unsigned long */
                if (msec < 0)
                        msec = LONG_MAX;