From: Pedro Alves Date: Fri, 9 Sep 2011 19:29:51 +0000 (+0000) Subject: Fixup last entry. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ddf17726b28e169d5ec0252a777a9c528c6a772f;p=binutils-gdb.git Fixup last entry. 2011-09-09 Pedro Alves * linux-nat.h (enum resume_kind): New. (struct lwp_info) : New field. * linux-nat.c (linux_child_follow_fork): Set last_resume_kind to resume_stop on the new lwp. (add_lwp): Set last_resume_kind as resume_continue by default. (lin_lwp_attach_lwp): Set last_resume_kind as resume_stop. (resume_lwp): New, factored out from resume_callback. Also check for pending status in lp->waitstatus. (resume_callback): Reimplement. (resume_clear_callback): Set last_resume_kind as resume_stop. (resume_set_callback): Set last_resume_kind as resume_continue. (linux_nat_resume, linux_handle_extended_wait): Set last_resume_kind. (running_callback): Also check lp->waitstatus for pending events. (select_singlestep_lwp_callback): Check that lp->last_resume_kind is resume_step. (stop_and_resume_callback): Don't re-resume if the core wanted the lwp stopped. Use resume_lwp instead of resume_callback. Avoid using an invalidated pointer. (linux_nat_filter_event): Don't discard SIGSTOPs as delayed SIGSTOPs if the core wanted the LWP to stop. (linux_nat_wait_1) Don't consume a pending SIGSTOP if the core wanted the lwp to stop. If the core wanted the lwp to stop, and the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead of TARGET_SIGNAL_STOP. (linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop here. Instead, signal the lwp, and set the last_resume_kind to resume_stop. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c5385815837..8b43992f03d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -2,8 +2,8 @@ * linux-nat.h (enum resume_kind): New. (struct lwp_info) : New field. - (linux_child_follow_fork): Set last_resume_kind to resume_stop on - the new lwp. + * linux-nat.c (linux_child_follow_fork): Set last_resume_kind to + resume_stop on the new lwp. (add_lwp): Set last_resume_kind as resume_continue by default. (lin_lwp_attach_lwp): Set last_resume_kind as resume_stop. (resume_lwp): New, factored out from resume_callback. Also check