diff options
author | Pedro Alves <palves@redhat.com> | 2009-11-15 20:10:34 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-11-15 20:10:34 +0000 |
commit | 678229626ec8f1a0d0d5c494335c05e9d0b52832 (patch) | |
tree | 50c327ad9c91dcaab7a2e4c49d4b57c31dc9deb2 /gdb/infrun.c | |
parent | 56710373a0ab471d0891ad49b5c2a70f53cfc00d (diff) | |
download | gdb-678229626ec8f1a0d0d5c494335c05e9d0b52832.zip gdb-678229626ec8f1a0d0d5c494335c05e9d0b52832.tar.gz gdb-678229626ec8f1a0d0d5c494335c05e9d0b52832.tar.bz2 |
* infrun.c (handle_inferior_event): When handling a fork or vfork
event, check if the bpstat causes a stop, instead of if it
explains the signal.
* breakpoint.c (bpstat_causes_stop): New.
* breakpoint.h (bpstat_causes_stop): Declare.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index c28366f..98e215c 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2946,7 +2946,11 @@ handle_inferior_event (struct execution_control_state *ecs) = bpstat_stop_status (get_regcache_aspace (get_current_regcache ()), stop_pc, ecs->ptid); - ecs->random_signal = !bpstat_explains_signal (ecs->event_thread->stop_bpstat); + /* Note that we're interested in knowing the bpstat actually + causes a stop, not just if it may explain the signal. + Software watchpoints, for example, always appear in the + bpstat. */ + ecs->random_signal = !bpstat_causes_stop (ecs->event_thread->stop_bpstat); /* If no catchpoint triggered for this, then keep going. */ if (ecs->random_signal) |