Commit 09a2ec01 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

r9107@Kushana: nickm | 2006-10-06 02:14:02 -0400

 When eventdns is enabled, we can allow machines with thread-unsafe resolver functions to build multithreaded anyway.


svn:r8608
parent 1d4bd399
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -88,6 +88,9 @@ Changes in version 0.1.2.2-alpha - 2006-10-??
    - Just because your DirPort is open doesn't mean people should be
      able to remotely teach you about hidden service descriptors. Now
      only accept rendezvous posts if you've got HSAuthoritativeDir set.
    - When eventdns is enabled, allow multithreaded builds on NetBSD and
      OpenBSD.  (We had previously disabled threads on these platforms
      because they didn't have working thread-safe resolver functions)

  o Major bugfixes, other:
    - Avoiding crashing on race condition in dns.c:
+24 −22
Original line number Diff line number Diff line
@@ -19,6 +19,26 @@ AC_ARG_ENABLE(debug,
    CFLAGS="$CFLAGS -g"
fi])

AC_ARG_ENABLE(eventdns,
     AC_HELP_STRING(--enable-eventdns, enable asynchronous dns module),
     [case "${enableval}" in
        yes) eventdns=true ;;
        no)  eventdns=false ;;
        *) AC_MSG_ERROR(bad value for --enable-eventdns) ;;
      esac], [eventdns=true])
AM_CONDITIONAL(EVENTDNS, test x$eventdns = xtrue)
if test x$eventdns = xtrue; then
   AC_DEFINE([USE_EVENTDNS], 1, "Define to 1 if we'll be using eventdns.c")
fi

AC_ARG_ENABLE(transparent,
     AC_HELP_STRING(--disable-transparent, disable transparent proxy support),
     [case "${enableval}" in
        yes) transparent=true ;;
        no)  transparent=false ;;
        *) AC_MSG_ERROR(bad value for --enable-transparent) ;;
      esac], [transparent=true])

AC_ARG_ENABLE(threads,
     AC_HELP_STRING(--disable-threads, disable multi-threading support))

@@ -27,9 +47,11 @@ if test x$enable_threads = x; then
    *-*-netbsd* | *-*-openbsd* )
     # Don't try multithreading on netbsd -- there is no threadsafe DNS
     # lookup function there.
     if test x$eventdns != xtrue; then
        AC_MSG_NOTICE([You are running OpenBSD or NetBSD; I am assuming that
getaddrinfo is not threadsafe here, so I will disable threads.])
     enable_threads="no";;
        enable_threads="no"
    fi ;;
    *-*-solaris* )
     # Don't try multithreading on solaris -- cpuworkers seem to lock.
     AC_MSG_NOTICE([You are running Solaris; Sometimes threading makes
@@ -44,26 +66,6 @@ if test $enable_threads = "yes"; then
  AC_DEFINE(ENABLE_THREADS, 1, [Defined if we will try to use multithreading])
fi

AC_ARG_ENABLE(eventdns,
     AC_HELP_STRING(--enable-eventdns, enable asynchronous dns module),
     [case "${enableval}" in
        yes) eventdns=true ;;
        no)  eventdns=false ;;
        *) AC_MSG_ERROR(bad value for --enable-eventdns) ;;
      esac], [eventdns=true])
AM_CONDITIONAL(EVENTDNS, test x$eventdns = xtrue)
if test x$eventdns = xtrue; then
   AC_DEFINE([USE_EVENTDNS], 1, "Define to 1 if we'll be using eventdns.c")
fi

AC_ARG_ENABLE(transparent,
     AC_HELP_STRING(--disable-transparent, disable transparent proxy support),
     [case "${enableval}" in
        yes) transparent=true ;;
        no)  transparent=false ;;
        *) AC_MSG_ERROR(bad value for --enable-transparent) ;;
      esac], [transparent=true])

case $host in
   *-*-solaris* )
     AC_DEFINE(_REENTRANT, 1, [Define on some platforms to activate x_r() functions in time.h])