diff options
Diffstat (limited to 'gdb/bsd-uthread.c')
-rw-r--r-- | gdb/bsd-uthread.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c index 172192e..bb01816 100644 --- a/gdb/bsd-uthread.c +++ b/gdb/bsd-uthread.c @@ -337,6 +337,12 @@ bsd_uthread_wait (ptid_t ptid, struct target_waitstatus *status) /* Pass the request to the layer beneath. */ ptid = find_target_beneath (bsd_uthread_ops_hack)->to_wait (ptid, status); + /* If the process is no longer alive, there's no point in figuring + out the thread ID. It will fail anyway. */ + if (status->kind == TARGET_WAITKIND_SIGNALLED + || status->kind == TARGET_WAITKIND_EXITED) + return ptid; + /* Fetch the corresponding thread ID, and augment the returned process ID with it. */ addr = read_memory_typed_address (bsd_uthread_thread_run_addr, |