Bug 414997, PR_NewThreadPrivateIndex contract is violated by PR_CreateThread impls

Patch contributed by Wan-Teh Chang
r=julien.pierre, r=me
Landing on mini branch for ff3b3, intended for this fix only, because trunk is frozen


git-svn-id: svn://10.0.0.236/branches/NSPR_HEAD_20080129_MINIBRANCH@244597 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kaie%kuix.de
2008-01-31 16:25:26 +00:00
parent 5c8fc749f9
commit c10e0ff73e

View File

@@ -257,6 +257,8 @@ static void *_pt_root(void *arg)
*/
if (PR_FALSE == detached)
{
/* Call TPD destructors on this thread. */
_PR_DestroyThreadPrivate(thred);
rv = pthread_setspecific(pt_book.key, NULL);
PR_ASSERT(0 == rv);
}
@@ -597,7 +599,7 @@ PR_IMPLEMENT(PRStatus) PR_JoinThread(PRThread *thred)
rv = pthread_detach(&id);
PR_ASSERT(0 == rv);
#endif
_pt_thread_death(thred);
_pt_thread_death_internal(thred, PR_FALSE);
}
else
{