From 68e9f364a01fa8efadd06745d2e54d699996646a Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Thu, 12 Mar 2015 17:52:37 +0100 Subject: [PATCH] don't init threads as side effect of assertion Fixes part of bug 15211. --- changes/bug15211 | 5 +++++ src/common/compat_pthreads.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 changes/bug15211 diff --git a/changes/bug15211 b/changes/bug15211 new file mode 100644 index 0000000000..b99e61ef11 --- /dev/null +++ b/changes/bug15211 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Remove side-effects from tor_assert() calls. This was harmless, + because we never disable assertions, but it is bad style and + unnecessary. Fixes bug 15211; bugfix on 0.2.5.5. + diff --git a/src/common/compat_pthreads.c b/src/common/compat_pthreads.c index 246076b276..70259a8a53 100644 --- a/src/common/compat_pthreads.c +++ b/src/common/compat_pthreads.c @@ -276,14 +276,16 @@ void tor_threads_init(void) { if (!threads_initialized) { + int ret; pthread_mutexattr_init(&attr_recursive); pthread_mutexattr_settype(&attr_recursive, PTHREAD_MUTEX_RECURSIVE); - tor_assert(0==pthread_attr_init(&attr_detached)); + ret = pthread_attr_init(&attr_detached); + tor_assert(ret == 0); #ifndef PTHREAD_CREATE_DETACHED #define PTHREAD_CREATE_DETACHED 1 #endif - tor_assert(0==pthread_attr_setdetachstate(&attr_detached, - PTHREAD_CREATE_DETACHED)); + ret = pthread_attr_setdetachstate(&attr_detached, PTHREAD_CREATE_DETACHED); + tor_assert(ret == 0); threads_initialized = 1; set_main_thread(); }