From 7438ee8a47eae3653aa97349ee53cdb11bd206dd Mon Sep 17 00:00:00 2001 From: dd Date: Sun, 24 Jun 2001 01:55:17 +0000 Subject: Don't call exit(3) from a signal handler. Obtained from: OpenBSD --- bin/dd/misc.c | 3 +-- bin/ed/main.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/dd/misc.c b/bin/dd/misc.c index 63c4e67..4fe4a41 100644 --- a/bin/dd/misc.c +++ b/bin/dd/misc.c @@ -104,6 +104,5 @@ terminate(sig) int sig; { - /* XXX exit() shouldn't call exit() from a signal handler. */ - exit(sig == 0 ? 0 : 1); + _exit(sig == 0 ? 0 : 1); } diff --git a/bin/ed/main.c b/bin/ed/main.c index bb651e5..af43f39 100644 --- a/bin/ed/main.c +++ b/bin/ed/main.c @@ -1400,7 +1400,7 @@ handle_hup(signo) strcat(hup, "ed.hup"); write_file(hup, "w", 1, addr_last); } - quit(2); + _exit(2); } @@ -1409,7 +1409,7 @@ handle_int(signo) int signo; { if (!sigactive) - quit(1); + _exit(1); sigflags &= ~(1 << (signo - 1)); #ifdef _POSIX_SOURCE siglongjmp(env, -1); -- cgit v1.1