From 8a0efa53e44919bcf5ccb1d3353618a82afdf8bc Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 17 Feb 2000 19:39:52 +0000 Subject: import newlib-2000-02-17 snapshot --- newlib/libc/stdlib/abort.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 newlib/libc/stdlib/abort.c (limited to 'newlib/libc/stdlib/abort.c') diff --git a/newlib/libc/stdlib/abort.c b/newlib/libc/stdlib/abort.c new file mode 100644 index 000000000..b3d671ed6 --- /dev/null +++ b/newlib/libc/stdlib/abort.c @@ -0,0 +1,66 @@ +/* NetWare can not use this implementation of abort. It provides its + own version of abort in clib.nlm. If we can not use clib.nlm, then + we must write abort in sys/netware. */ + +#ifdef ABORT_PROVIDED + +int _dummy_abort = 1; + +#else + +/* +FUNCTION +<>---abnormal termination of a program + +INDEX + abort + +ANSI_SYNOPSIS + #include + void abort(void); + +TRAD_SYNOPSIS + #include + void abort(); + +DESCRIPTION +Use <> to signal that your program has detected a condition it +cannot deal with. Normally, <> ends your program's execution. + +Before terminating your program, <> raises the exception <> +(using `<>'). If you have used <> to register +an exception handler for this condition, that handler has the +opportunity to retain control, thereby avoiding program termination. + +In this implementation, <> does not perform any stream- or +file-related cleanup (the host environment may do so; if not, you can +arrange for your program to do its own cleanup with a <> +exception handler). + +RETURNS +<> does not return to its caller. + +PORTABILITY +ANSI C requires <>. + +Supporting OS subroutines required: <>, <>. +*/ + +#include +#include + +_VOID +_DEFUN_VOID (abort) +{ +#ifdef ABORT_MESSAGE + write (2, "Abort called\n", sizeof ("Abort called\n")-1); +#endif + + while (1) + { + raise (SIGABRT); + _exit (1); + } +} + +#endif -- cgit v1.2.3