2001-06-01 Michael Snyder <msnyder@redhat.com>
* infrun.c (handle_inferior_event): After singlestepping over a thread-specific breakpoint, use currently_stepping() to decide whether to step or continue.
This commit is contained in:
parent
b27b8843dc
commit
c6ad9598d0
2 changed files with 28 additions and 14 deletions
|
@ -1,3 +1,9 @@
|
|||
2001-06-01 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* infrun.c (handle_inferior_event): After singlestepping over a
|
||||
thread-specific breakpoint, use currently_stepping() to decide
|
||||
whether to step or continue.
|
||||
|
||||
2001-06-01 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* gnu-v3-abi.c (gnu_v3_abi_ops, vtable_type_gdbarch_data): Make
|
||||
|
|
36
gdb/infrun.c
36
gdb/infrun.c
|
@ -1472,12 +1472,16 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
|
||||
/* We need to restart all the threads now,
|
||||
* unless we're running in scheduler-locked mode.
|
||||
* FIXME: shouldn't we look at currently_stepping ()?
|
||||
* Use currently_stepping to determine whether to
|
||||
* step or continue.
|
||||
*/
|
||||
|
||||
if (scheduler_mode == schedlock_on)
|
||||
target_resume (ecs->ptid, 0, TARGET_SIGNAL_0);
|
||||
target_resume (ecs->ptid,
|
||||
currently_stepping (ecs), TARGET_SIGNAL_0);
|
||||
else
|
||||
target_resume (RESUME_ALL, 0, TARGET_SIGNAL_0);
|
||||
target_resume (RESUME_ALL,
|
||||
currently_stepping (ecs), TARGET_SIGNAL_0);
|
||||
ecs->infwait_state = infwait_normal_state;
|
||||
prepare_to_wait (ecs);
|
||||
return;
|
||||
|
@ -1879,6 +1883,21 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
if (remove_status != 0)
|
||||
{
|
||||
write_pc_pid (stop_pc - DECR_PC_AFTER_BREAK + 4, ecs->ptid);
|
||||
/* We need to restart all the threads now,
|
||||
* unles we're running in scheduler-locked mode.
|
||||
* Use currently_stepping to determine whether to
|
||||
* step or continue.
|
||||
*/
|
||||
if (scheduler_mode == schedlock_on)
|
||||
target_resume (ecs->ptid,
|
||||
currently_stepping (ecs),
|
||||
TARGET_SIGNAL_0);
|
||||
else
|
||||
target_resume (RESUME_ALL,
|
||||
currently_stepping (ecs),
|
||||
TARGET_SIGNAL_0);
|
||||
prepare_to_wait (ecs);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{ /* Single step */
|
||||
|
@ -1892,17 +1911,6 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
prepare_to_wait (ecs);
|
||||
return;
|
||||
}
|
||||
|
||||
/* We need to restart all the threads now,
|
||||
* unles we're running in scheduler-locked mode.
|
||||
* FIXME: shouldn't we look at currently_stepping ()?
|
||||
*/
|
||||
if (scheduler_mode == schedlock_on)
|
||||
target_resume (ecs->ptid, 0, TARGET_SIGNAL_0);
|
||||
else
|
||||
target_resume (RESUME_ALL, 0, TARGET_SIGNAL_0);
|
||||
prepare_to_wait (ecs);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue