From 6c08a18f5dd8a5019e8563b9862e20dbdf55c209 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Tue, 1 Feb 2005 16:43:29 +0000 Subject: Fix death event reporting properly. Now GDB is happy and death events are reported as [Thread 5126 (LWP 192) exited] without GDB bailing out. --- libpthread/linuxthreads/join.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'libpthread') diff --git a/libpthread/linuxthreads/join.c b/libpthread/linuxthreads/join.c index 8d82d1fcb..f6c0e602c 100644 --- a/libpthread/linuxthreads/join.c +++ b/libpthread/linuxthreads/join.c @@ -42,8 +42,6 @@ PDEBUG("self=%p, pid=%d\n", self, self->p_pid); /* 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)) { @@ -61,12 +59,12 @@ PDEBUG("self=%p, pid=%d\n", self, self->p_pid); THREAD_SETMEM(self, p_eventbuf.eventdata, self); __pthread_last_event = self; -#if 0 /* Appears like DEATH event reporting is broken */ /* Now call the function to signal the event. */ __linuxthreads_death_event(); -#endif } } + /* Say that we've terminated */ + THREAD_SETMEM(self, p_terminated, 1); /* See if someone is joining on us */ joining = THREAD_GETMEM(self, p_joining); PDEBUG("joining = %p, pid=%d\n", joining, joining->p_pid); -- cgit v1.2.3