summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-02-01 16:43:29 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-02-01 16:43:29 +0000
commit6c08a18f5dd8a5019e8563b9862e20dbdf55c209 (patch)
treea35502e9bf8ba9c8ebc20be98f2891c086e8327f
parentddeb09cb2efb93eab71d1e49129dab580270cb90 (diff)
Fix death event reporting properly.
Now GDB is happy and death events are reported as [Thread 5126 (LWP 192) exited] without GDB bailing out.
-rw-r--r--libpthread/linuxthreads/join.c6
1 files changed, 2 insertions, 4 deletions
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);