summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2004-01-20 19:35:18 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2004-01-20 19:35:18 +0000
commit1429df89fad8239978803f903cd05285ab37498d (patch)
treef7aaa484ffd28d8db7666dc02c09af77de4c5920
parentf0335105b709b072b4721ae5ad7316db67a9861e (diff)
Call _exit() not exit() from abort() if we are unable to kill ourselves
to avoid flushing stdio twice. This code path should never really happen though. Also make the function declaration ANSI. OK deraadt@
-rw-r--r--lib/libc/stdlib/abort.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/stdlib/abort.c b/lib/libc/stdlib/abort.c
index 3f32dc5dc11..2430c124f99 100644
--- a/lib/libc/stdlib/abort.c
+++ b/lib/libc/stdlib/abort.c
@@ -28,7 +28,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: abort.c,v 1.12 2003/06/02 20:18:37 millert Exp $";
+static char *rcsid = "$OpenBSD: abort.c,v 1.13 2004/01/20 19:35:17 millert Exp $";
#endif /* LIBC_SCCS and not lint */
#include <signal.h>
@@ -38,7 +38,7 @@ static char *rcsid = "$OpenBSD: abort.c,v 1.12 2003/06/02 20:18:37 millert Exp $
#include "atexit.h"
void
-abort()
+abort(void)
{
struct atexit *p = __atexit;
static int cleanup_called = 0;
@@ -74,5 +74,5 @@ abort()
(void)signal(SIGABRT, SIG_DFL);
(void)_thread_sys_sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
(void)kill(getpid(), SIGABRT);
- exit(1);
+ _exit(1);
}