summaryrefslogtreecommitdiff
path: root/zwgc
diff options
context:
space:
mode:
authorGravatar Richard Basch <probe@mit.edu>1994-08-19 10:09:11 +0000
committerGravatar Richard Basch <probe@mit.edu>1994-08-19 10:09:11 +0000
commit4dba450a0b076e9f434972ea1311e4b05ecb7126 (patch)
treec1752e5579138111f42c403faba71de2f61485ac /zwgc
parent7ccbe4609af7a4292f4155873ead82d94918ef68 (diff)
Allow for full coredumps under AIX with SEGV signal
Diffstat (limited to 'zwgc')
-rw-r--r--zwgc/main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/zwgc/main.c b/zwgc/main.c
index f529664..ad23243 100644
--- a/zwgc/main.c
+++ b/zwgc/main.c
@@ -386,8 +386,8 @@ static void setup_signals(dofork)
sa.sa_handler = SIG_IGN;
sigaction(SIGINT, &sa, (struct sigaction *)0);
sigaction(SIGTSTP, &sa, (struct sigaction *)0);
- sigaction(SIGTTOU, &sa, (struct sigaction *)0);
sigaction(SIGQUIT, &sa, (struct sigaction *)0);
+ sigaction(SIGTTOU, &sa, (struct sigaction *)0);
} else {
/* clean up on SIGINT; exiting on logout is the user's problem, now. */
sa.sa_handler = signal_exit;
@@ -409,7 +409,14 @@ static void setup_signals(dofork)
sa.sa_handler = signal_child;
#endif
sigaction(SIGCHLD, &sa, (struct sigaction *)0);
-#else
+
+#ifdef _AIX
+ sa.sa_flags = SA_FULLDUMP;
+ sa.sa_handler = SIG_DFL;
+ sigaction(SIGSEGV, &sa, (struct sigaction *)0);
+#endif
+
+#else /* !POSIX */
if (dofork) {
/* Ignore keyboard signals if forking. Bad things will happen. */
signal(SIGINT, SIG_IGN);