65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
/* 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
 | 
						|
<<abort>>---abnormal termination of a program
 | 
						|
 | 
						|
INDEX
 | 
						|
	abort
 | 
						|
 | 
						|
ANSI_SYNOPSIS
 | 
						|
	#include <stdlib.h>
 | 
						|
	void abort(void);
 | 
						|
 | 
						|
TRAD_SYNOPSIS
 | 
						|
	#include <stdlib.h>
 | 
						|
	void abort();
 | 
						|
 | 
						|
DESCRIPTION
 | 
						|
Use <<abort>> to signal that your program has detected a condition it
 | 
						|
cannot deal with.  Normally, <<abort>> ends your program's execution.
 | 
						|
 | 
						|
Before terminating your program, <<abort>> raises the exception <<SIGABRT>>
 | 
						|
(using `<<raise(SIGABRT)>>').  If you have used <<signal>> to register
 | 
						|
an exception handler for this condition, that handler has the
 | 
						|
opportunity to retain control, thereby avoiding program termination.
 | 
						|
 | 
						|
In this implementation, <<abort>> 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 <<SIGABRT>>
 | 
						|
exception handler).
 | 
						|
 | 
						|
RETURNS
 | 
						|
<<abort>> does not return to its caller.
 | 
						|
 | 
						|
PORTABILITY
 | 
						|
ANSI C requires <<abort>>.
 | 
						|
 | 
						|
Supporting OS subroutines required: <<_exit>> and optionally, <<write>>.
 | 
						|
*/
 | 
						|
 | 
						|
#include <stdlib.h>
 | 
						|
#include <unistd.h>
 | 
						|
#include <signal.h>
 | 
						|
 | 
						|
_VOID
 | 
						|
_DEFUN_VOID (abort)
 | 
						|
{
 | 
						|
#ifdef ABORT_MESSAGE
 | 
						|
  write (2, "Abort called\n", sizeof ("Abort called\n")-1);
 | 
						|
#endif
 | 
						|
 | 
						|
  while (1)
 | 
						|
    {
 | 
						|
      exit(1);
 | 
						|
    }
 | 
						|
}
 |