aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>1998-02-06 01:22:01 +0000
committerJason Molenda <jmolenda@apple.com>1998-02-06 01:22:01 +0000
commit8d743926f496f69fb86a532f6db856b41e357b75 (patch)
tree019cadf4dd5d94b119a19e8d1ff774b84a3775cd /gdb
parentdf419eec9caec5db5cca397c9e1a36de7ee13f7a (diff)
downloadgdb-8d743926f496f69fb86a532f6db856b41e357b75.zip
gdb-8d743926f496f69fb86a532f6db856b41e357b75.tar.gz
gdb-8d743926f496f69fb86a532f6db856b41e357b75.tar.bz2
* top.c (do_nothing): Remove signal handler after signal is caught.
Helpful for SYSV systems where two ^-\s will cause problems. Should have no effect on BSD systems.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/top.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/top.c b/gdb/top.c
index 054bcc7..fd5f316 100644
--- 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