Use PTHREAD_CREATE_DETACHED macro instead of 1: fix Solaris crash
commit192ed944101174d775d27ac54002ee9bc2708080
authorNick Mathewson <nickm@torproject.org>
Thu, 12 Mar 2015 13:49:45 +0000 (12 09:49 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 12 Mar 2015 14:03:02 +0000 (12 10:03 -0400)
treef25cc3944da97e6a89494f0ae678c4d4927a8d16
parent985687bc4f99b90ed88ccdbefc820260c299ff23
Use PTHREAD_CREATE_DETACHED macro instead of 1: fix Solaris crash

When calling pthread_attr_setdetachstate, we were using 1 as the
argument. But the pthreads documentation says that you have to say
PTHREAD_CREATE_DETACH, which on Solaris is apparently 0x40.  Calling
pthread_attr_setdetachstate with 1 crashes on Solaris with FLTBOUNDS.

(Because we're so late in the release cycle, I made the code define
PTHREAD_CREATE_DETACHED if it doesn't exist, so we aren't likely to
break any other platforms.)

This bug was introduced when we made threading mandatory in
0.2.6.1-alpha; previously, we had force-disabled threading on
Solaris.  See #9495 discussion.
changes/bug9495_redux [new file with mode: 0644]
src/common/compat_pthreads.c