1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-19 00:02:09 +03:00
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> 2000-04-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-lock.h: Only declare __pthread_rwlock_* * sysdeps/pthread/bits/libc-lock.h: Only declare __pthread_rwlock_*

View File

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