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