diff options
author | Richard Basch <probe@mit.edu> | 1994-08-19 10:09:11 +0000 |
---|---|---|
committer | Richard Basch <probe@mit.edu> | 1994-08-19 10:09:11 +0000 |
commit | 4dba450a0b076e9f434972ea1311e4b05ecb7126 (patch) | |
tree | c1752e5579138111f42c403faba71de2f61485ac /zwgc | |
parent | 7ccbe4609af7a4292f4155873ead82d94918ef68 (diff) |
Allow for full coredumps under AIX with SEGV signal
Diffstat (limited to 'zwgc')
-rw-r--r-- | zwgc/main.c | 11 |
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); |