[tor-commits] [tor/master] Merge remote-tracking branch 'public/bug4457_022' into bug4457_master

nickm at torproject.org nickm at torproject.org
Wed Nov 16 21:20:54 UTC 2011


commit cf8117136c1b206e727d582a4c378ce53e058414
Merge: 8592126 0f6c021
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Nov 14 17:59:42 2011 -0500

    Merge remote-tracking branch 'public/bug4457_022' into bug4457_master
    
    Conflicts:
    	src/common/compat_libevent.c
    
    Resolving conflict by not taking 7363eae13cb8 ("Use the
    EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation"): in
    Tor 0.2.3.x, we _do_ sometimes use notifiable event bases.

 changes/bug4457              |    9 +++++++++
 src/common/compat_libevent.c |    6 ++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --cc src/common/compat_libevent.c
index 3201738,ddb2da6..c533461
--- a/src/common/compat_libevent.c
+++ b/src/common/compat_libevent.c
@@@ -196,25 -179,12 +196,26 @@@ tor_libevent_initialize(tor_libevent_cf
  #ifdef HAVE_EVENT2_EVENT_H
    {
      struct event_config *cfg = event_config_new();
+     tor_assert(cfg);
  
 -    /* In 0.2.2, we don't use locking at all.  Telling Libevent not to try to
 -     * turn it on can avoid a needless socketpair() attempt.
 -     */
 -    event_config_set_flag(cfg, EVENT_BASE_FLAG_NOLOCK);
 +#if defined(MS_WINDOWS) && defined(USE_BUFFEREVENTS)
 +    if (! torcfg->disable_iocp) {
 +      evthread_use_windows_threads();
 +      event_config_set_flag(cfg, EVENT_BASE_FLAG_STARTUP_IOCP);
 +      using_iocp_bufferevents = 1;
 +    }
 +#endif
 +
 +#if defined(LIBEVENT_VERSION_NUMBER) && LIBEVENT_VERSION_NUMBER >= V(2,0,7)
 +    if (torcfg->num_cpus > 0)
 +      event_config_set_num_cpus_hint(cfg, torcfg->num_cpus);
 +#endif
 +
 +#if LIBEVENT_VERSION_NUMBER >= V(2,0,9)
 +    /* We can enable changelist support with epoll, since we don't give
 +     * Libevent any dup'd fds.  This lets us avoid some syscalls. */
 +    event_config_set_flag(cfg, EVENT_BASE_FLAG_EPOLL_USE_CHANGELIST);
 +#endif
  
      the_event_base = event_base_new_with_config(cfg);
  





More information about the tor-commits mailing list