X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=man3%2Fatexit.3;h=7d1ea31ffe90a741024b9ee4f0584063a4aeaf1b;hp=09fe18dfa1f7b7407869cc553639e79334f48023;hb=abc15df6b9fae3374d24c7cf5c3ab94c605b2a6d;hpb=8894c921674bb116d0a7b8f23a55311e7a768019 diff --git a/man3/atexit.3 b/man3/atexit.3 index 09fe18d..7d1ea31 100644 --- a/man3/atexit.3 +++ b/man3/atexit.3 @@ -1,100 +1,100 @@ -.\" This file is part of the Public Domain C Library (PDCLib). -.\" Permission is granted to use, modify, and / or redistribute at will. -.\" -.Dd -.Dt atexit 3 -.Os -.\" -.Sh NAME -.Nm atexit -.Nd registration of functions to be invoked before process termination -.\" -.Sh SYNOPSIS -.In stdlib.h -.Fn "int atexit" "void (*handler)(void)" -.Fn "int at_quick_exit" "void (*handler)(void)" -(C11, C++11) -.\" -.Sh DESCRIPTION -These functions register a function to be called when the corresponding process -exit function is invoked. For -.Fn atexit -the function will be invoked when the process is terminated by calling -.Fn exit ; -for -.Fn at_quick_exit -the function will be invoked when the process is terminated by calling -.Fn quick_exit . -.\" -.Pp -These functions are used in order to permit a program to perform actions before -a process is terminated; for example, releasing an interprocess semaphore. -Special care should be taken when writing -.Fn at_quick_exit -handlers; the purpose of -.Fn quick_exit -is to support the abandonning of a process when normal process termination might -not be possible; at_quick_exit handlers should therefore be used sparingly and -only when their use is essential. -.\" -.Pp -The standard guarantees that -.Fn atexit -and -.Fn at_quick_exit -may each be called at least 32 times successfully. -.\" -.Pp -.Fn atexit -and -.Fn at_quick_exit -handlers are called in reverse order of the order they were registered in. For -precise details of their ordering, see -.Xr exit 3 . -.\" -.Pp -The result of exiting from a handler registered with -.Fn atexit -or -.Fn at_quick_exit -by use of -.Fn longjmp -is undefined. If any function or destructor invoked by -.Fn exit -or -.Fn quick_exit -should throw, -.Fn std::terminate -is invoked. -.\" -.Pp -Undefined behaviour results if an -.Fn atexit -or -.Fn at_quick_exit -handler calls -.Fn exit -or -.Fn quick_exit . -.\" -.Sh RETURN VALUES -Returns 0 to indicate success; nonzero returns indicate failure. -.\" -.Sh ERRORS -No errors are defined -.\" -.Sh SEE ALSO -.Xr abort 3 -.Xr exit 3 -.Xr quick_exit 3 -.Xr _Exit 3 -.\" -.Sh STANDARDS -.Fn atexit -is first defined in -.St -isoC-90 ; -.Fn at_quick_exit -was introduced in -.St -isoC-2011 -and +.\" This file is part of the Public Domain C Library (PDCLib). +.\" Permission is granted to use, modify, and / or redistribute at will. +.\" +.Dd +.Dt atexit 3 +.Os +.\" +.Sh NAME +.Nm atexit +.Nd registration of functions to be invoked before process termination +.\" +.Sh SYNOPSIS +.In stdlib.h +.Fn "int atexit" "void (*handler)(void)" +.Fn "int at_quick_exit" "void (*handler)(void)" +(C11, C++11) +.\" +.Sh DESCRIPTION +These functions register a function to be called when the corresponding process +exit function is invoked. For +.Fn atexit +the function will be invoked when the process is terminated by calling +.Fn exit ; +for +.Fn at_quick_exit +the function will be invoked when the process is terminated by calling +.Fn quick_exit . +.\" +.Pp +These functions are used in order to permit a program to perform actions before +a process is terminated; for example, releasing an interprocess semaphore. +Special care should be taken when writing +.Fn at_quick_exit +handlers; the purpose of +.Fn quick_exit +is to support the abandonning of a process when normal process termination might +not be possible; at_quick_exit handlers should therefore be used sparingly and +only when their use is essential. +.\" +.Pp +The standard guarantees that +.Fn atexit +and +.Fn at_quick_exit +may each be called at least 32 times successfully. +.\" +.Pp +.Fn atexit +and +.Fn at_quick_exit +handlers are called in reverse order of the order they were registered in. For +precise details of their ordering, see +.Xr exit 3 . +.\" +.Pp +The result of exiting from a handler registered with +.Fn atexit +or +.Fn at_quick_exit +by use of +.Fn longjmp +is undefined. If any function or destructor invoked by +.Fn exit +or +.Fn quick_exit +should throw, +.Fn std::terminate +is invoked. +.\" +.Pp +Undefined behaviour results if an +.Fn atexit +or +.Fn at_quick_exit +handler calls +.Fn exit +or +.Fn quick_exit . +.\" +.Sh RETURN VALUES +Returns 0 to indicate success; nonzero returns indicate failure. +.\" +.Sh ERRORS +No errors are defined +.\" +.Sh SEE ALSO +.Xr abort 3 +.Xr exit 3 +.Xr quick_exit 3 +.Xr _Exit 3 +.\" +.Sh STANDARDS +.Fn atexit +is first defined in +.St -isoC-90 ; +.Fn at_quick_exit +was introduced in +.St -isoC-2011 +and ISO/IEC 14882:2011 "C++ 2011" . \ No newline at end of file