about summary refs log tree commit diff
path: root/linuxthreads/join.c
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/join.c')
-rw-r--r--linuxthreads/join.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linuxthreads/join.c b/linuxthreads/join.c
index b703c0d34c..5a97b17f97 100644
--- a/linuxthreads/join.c
+++ b/linuxthreads/join.c
@@ -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));