* linux-low.c (linux_wait_for_event): Do not pass signals while

single-stepping.
This commit is contained in:
Daniel Jacobowitz 2007-09-04 21:30:23 +00:00
parent 193a53d920
commit 69f223edd7
2 changed files with 10 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2007-09-04 Daniel Jacobowitz <dan@codesourcery.com>
* linux-low.c (linux_wait_for_event): Do not pass signals while
single-stepping.
2007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
* win32-low.c (create_process): New.

View file

@ -589,12 +589,14 @@ linux_wait_for_event (struct thread_info *child)
/* If GDB is not interested in this signal, don't stop other
threads, and don't report it to GDB. Just resume the
inferior right away. We do this for threading-related
signals as well as any that GDB specifically requested
we ignore. But never ignore SIGSTOP if we sent it
ourselves. */
signals as well as any that GDB specifically requested we
ignore. But never ignore SIGSTOP if we sent it ourselves,
and do not ignore signals when stepping - they may require
special handling to skip the signal handler. */
/* FIXME drow/2002-06-09: Get signal numbers from the inferior's
thread library? */
if (WIFSTOPPED (wstat)
&& !event_child->stepping
&& ((using_threads && (WSTOPSIG (wstat) == __SIGRTMIN
|| WSTOPSIG (wstat) == __SIGRTMIN + 1))
|| (pass_signals[target_signal_from_host (WSTOPSIG (wstat))]