Browse Source

don't init threads as side effect of assertion

Fixes part of bug 15211.
Sebastian Hahn 10 years ago
parent
commit
68e9f364a0
2 changed files with 10 additions and 3 deletions
  1. 5 0
      changes/bug15211
  2. 5 3
      src/common/compat_pthreads.c

+ 5 - 0
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.
+

+ 5 - 3
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();
   }