mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
Make gdb/linux-nat.c consider a waitstatus pending on the infrun side
Working on the fix for gdb/19828, I saw gdb.threads/attach-many-short-lived-threads.exp fail once in an unusual way. Unfortunately I didn't keep debug logs, but it's an issue similar to what's been fixed in remote.c a while ago -- linux-nat.c was not fetching the pending status from the right place. gdb/ChangeLog: 2016-05-24 Pedro Alves <palves@redhat.com> PR gdb/19828 * linux-nat.c (get_pending_status): If the thread reported the event to the core and it's pending, use the pending status signal number.
This commit is contained in:
parent
774113b02f
commit
72b049d38c
@ -1,3 +1,10 @@
|
||||
2016-05-24 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR gdb/19828
|
||||
* linux-nat.c (get_pending_status): If the thread reported the
|
||||
event to the core and it's pending, use the pending status signal
|
||||
number.
|
||||
|
||||
2016-05-24 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR gdb/19828
|
||||
|
@ -1320,7 +1320,10 @@ get_pending_status (struct lwp_info *lp, int *status)
|
||||
{
|
||||
struct thread_info *tp = find_thread_ptid (lp->ptid);
|
||||
|
||||
signo = tp->suspend.stop_signal;
|
||||
if (tp->suspend.waitstatus_pending_p)
|
||||
signo = tp->suspend.waitstatus.value.sig;
|
||||
else
|
||||
signo = tp->suspend.stop_signal;
|
||||
}
|
||||
else if (!target_is_non_stop_p ())
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user