mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-28 18:10:46 +00:00
* gdbthread.h (struct thread_info): Add in_infcall member.
* infcall.c (run_inferior_call): Save, set and restore in_infcall. Remove reverences to suppress_resume_observer. Refresh `call_thread' after returning from `proceed'. * infcmd.c (suppress_resume_observer): Delete. * inferior.h (suppress_resume_observer): Delete declaration. * mi/mi-interp.c (mi_on_resume): Suppress output while calling an inferior function. * thread.c (set_running): Remove references to suppress_resume_observer. * infrun.c (struct inferior_status): Add in_infcall member. (save_inferior_status): Save it. (restore_inferior_status): Restore it.
This commit is contained in:
@@ -4451,7 +4451,8 @@ done:
|
||||
|| last.kind == TARGET_WAITKIND_EXITED
|
||||
|| (!inferior_thread ()->step_multi
|
||||
&& !(inferior_thread ()->stop_bpstat
|
||||
&& inferior_thread ()->proceed_to_finish)))
|
||||
&& inferior_thread ()->proceed_to_finish)
|
||||
&& !inferior_thread ()->in_infcall))
|
||||
{
|
||||
if (!ptid_equal (inferior_ptid, null_ptid))
|
||||
observer_notify_normal_stop (inferior_thread ()->stop_bpstat,
|
||||
@@ -5008,6 +5009,7 @@ struct inferior_status
|
||||
|
||||
int breakpoint_proceeded;
|
||||
int proceed_to_finish;
|
||||
int in_infcall;
|
||||
};
|
||||
|
||||
/* Save all of the information associated with the inferior<==>gdb
|
||||
@@ -5038,6 +5040,7 @@ save_inferior_status (void)
|
||||
tp->stop_bpstat = bpstat_copy (tp->stop_bpstat);
|
||||
inf_status->breakpoint_proceeded = breakpoint_proceeded;
|
||||
inf_status->proceed_to_finish = tp->proceed_to_finish;
|
||||
inf_status->in_infcall = tp->in_infcall;
|
||||
|
||||
inf_status->selected_frame_id = get_frame_id (get_selected_frame (NULL));
|
||||
|
||||
@@ -5088,6 +5091,7 @@ restore_inferior_status (struct inferior_status *inf_status)
|
||||
inf_status->stop_bpstat = NULL;
|
||||
breakpoint_proceeded = inf_status->breakpoint_proceeded;
|
||||
tp->proceed_to_finish = inf_status->proceed_to_finish;
|
||||
tp->in_infcall = inf_status->in_infcall;
|
||||
|
||||
if (target_has_stack)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user