Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ATEXIT(3)		 BSD Library Functions Manual		     ATEXIT(3)

NAME
     atexit -- register	a function to be called	on exit

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <stdlib.h>

     int
     atexit(void (*function)(void));

     int
     atexit_b(void (^function)(void));

DESCRIPTION
     The atexit() function registers the given function	to be called at	pro-
     gram exit,	whether	via exit(3) or via return from the program's main().
     Functions so registered are called	in reverse order; no arguments are
     passed.

     These functions must not call exit(); if it should	be necessary to	termi-
     nate the process while in such a function,	the _exit(2) function should
     be	used.  (Alternatively, the function may	cause abnormal process termi-
     nation, for example by calling abort(3).)

     At	least 32 functions can always be registered, and more are allowed as
     long as sufficient	memory can be allocated.

     The atexit_b() function behaves identically to atexit(), except that it
     takes a block, rather than	a function pointer.

RETURN VALUES
     The atexit() function returns the value 0 if successful; otherwise	the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     [ENOMEM]		No memory was available	to add the function to the
			list.  The existing list of functions is unmodified.

     [ENOSYS]		The atexit_b() function	was called by a	program	that
			did not	supply a _Block_copy() implementation.

SEE ALSO
     at_quick_exit(3), exit(3)

STANDARDS
     The atexit() function conforms to ISO/IEC 9899:1990 ("ISO C90").

BSD			       September 6, 2002			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=atexit&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help