diff --git a/changes/bug9495_redux b/changes/bug9495_redux new file mode 100644 index 000000000..74b0cdf2a --- /dev/null +++ b/changes/bug9495_redux @@ -0,0 +1,4 @@ + o Major bugfixes (portability): + - Do not crash on startup when running on Solaris. Fixes a bug + related to our fix for 9495; bugfix on 0.2.6.1-alpha. Reported + by "ruebezahl". diff --git a/src/common/compat_pthreads.c b/src/common/compat_pthreads.c index f4a6cad15..246076b27 100644 --- a/src/common/compat_pthreads.c +++ b/src/common/compat_pthreads.c @@ -279,7 +279,11 @@ tor_threads_init(void) pthread_mutexattr_init(&attr_recursive); pthread_mutexattr_settype(&attr_recursive, PTHREAD_MUTEX_RECURSIVE); tor_assert(0==pthread_attr_init(&attr_detached)); - tor_assert(0==pthread_attr_setdetachstate(&attr_detached, 1)); +#ifndef PTHREAD_CREATE_DETACHED +#define PTHREAD_CREATE_DETACHED 1 +#endif + tor_assert(0==pthread_attr_setdetachstate(&attr_detached, + PTHREAD_CREATE_DETACHED)); threads_initialized = 1; set_main_thread(); }