don't init threads as side effect of assertion

Fixes part of bug 15211.
This commit is contained in:
Sebastian Hahn 2015-03-12 17:52:37 +01:00
parent b683b9af00
commit 68e9f364a0
2 changed files with 10 additions and 3 deletions

5
changes/bug15211 Normal file
View File

@ -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.

View File

@ -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();
}