2000-04-24  Mark Kettenis  <kettenis@gnu.org>

	* join.c (pthread_exit): Set p_terminated after reporting the
	termination event instead of before.
This commit is contained in:
Ulrich Drepper 2000-04-24 05:33:59 +00:00
parent d52b6462c9
commit 9682a87189
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-04-24 Mark Kettenis <kettenis@gnu.org>
* join.c (pthread_exit): Set p_terminated after reporting the
termination event instead of before.
2000-04-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-lock.h: Only declare __pthread_rwlock_*

View File

@ -37,8 +37,6 @@ void pthread_exit(void * retval)
/* Store return value */
__pthread_lock(THREAD_GETMEM(self, p_lock), self);
THREAD_SETMEM(self, p_retval, retval);
/* Say that we've terminated */
THREAD_SETMEM(self, p_terminated, 1);
/* See whether we have to signal the death. */
if (THREAD_GETMEM(self, p_report_events))
{
@ -60,6 +58,8 @@ void pthread_exit(void * retval)
__linuxthreads_death_event();
}
}
/* Say that we've terminated */
THREAD_SETMEM(self, p_terminated, 1);
/* See if someone is joining on us */
joining = THREAD_GETMEM(self, p_joining);
__pthread_spin_unlock(THREAD_GETMEM(self, p_lock));