aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-nat.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2006-05-05 23:46:58 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2006-05-05 23:46:58 +0000
commitd539ed7ecddb3f5f62505e0d6a77a2a49c865432 (patch)
treec017bc9e5ac8fde829f2aac9c9e1a8d3e7870cd7 /gdb/linux-nat.c
parentc324242868c7eeb724a226f1f551db4145884fea (diff)
downloadgdb-d539ed7ecddb3f5f62505e0d6a77a2a49c865432.zip
gdb-d539ed7ecddb3f5f62505e0d6a77a2a49c865432.tar.gz
gdb-d539ed7ecddb3f5f62505e0d6a77a2a49c865432.tar.bz2
* linux-nat.c (linux_nat_wait): Do not short-cut reporting
of 'uninteresting' signals when single-stepping.
Diffstat (limited to 'gdb/linux-nat.c')
-rw-r--r--gdb/linux-nat.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 31e46d6..3cee912 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -2155,7 +2155,10 @@ retry:
{
int signo = target_signal_from_host (WSTOPSIG (status));
- if (signal_stop_state (signo) == 0
+ /* If we get a signal while single-stepping, we may need special
+ care, e.g. to skip the signal handler. Defer to common code. */
+ if (!lp->step
+ && signal_stop_state (signo) == 0
&& signal_print_state (signo) == 0
&& signal_pass_state (signo) == 1)
{