* top.c (do_nothing): Remove signal handler after signal is caught.
authorJason Molenda <jmolenda@apple.com>
Fri, 6 Feb 1998 01:22:01 +0000 (01:22 +0000)
committerJason Molenda <jmolenda@apple.com>
Fri, 6 Feb 1998 01:22:01 +0000 (01:22 +0000)
Helpful for SYSV systems where two ^-\s will cause problems.  Should have
no effect on BSD systems.

gdb/top.c

index 054bcc781dfd50e0e4dd1bed69dbea8f475cb7b0..fd5f316e2e20d3743e92e105f82a8d04d40eafa0 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1914,6 +1914,13 @@ static void
 do_nothing (signo)
 int signo;
 {
+  /* Under System V the default disposition of a signal is reinstated after
+     the signal is caught and delivered to an application process.  On such
+     systems one must restore the replacement signal handler if one wishes
+     to continue handling the signal in one's program.  On BSD systems this
+     is not needed but it is harmless, and it simplifies the code to just do
+     it unconditionally. */
+  signal (signo, do_nothing);
 }
 
 static void