Browse Source

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@
OPENBSD_3_5
millert 20 years ago
parent
commit
cb3adf3a9c
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      src/lib/libc/stdlib/abort.c

+ 3
- 3
src/lib/libc/stdlib/abort.c View File

@ -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);
}

Loading…
Cancel
Save