quick_exit.3c revision fc2512cfb727d49529d8ed99164db871f4829b73

This file and its contents are supplied under the terms of the
Common Development and Distribution License ("CDDL"), version 1.0.
You may only use this file in accordance with the terms of version
1.0 of the CDDL.

A full copy of the text of the CDDL should have accompanied this
source. A copy of the CDDL is also available via the Internet at
http://www.illumos.org/license/CDDL.


Copyright 2016 Joyent, Inc.

.Dd "Mar 26, 2016" .Dt QUICK_EXIT 3C .Os .Sh NAME .Nm at_quick_exit , .Nm quick_exit .Nd terminate a running process with minimal teardown .Sh SYNOPSIS n stdlib.h .Ft int .Fo at_quick_exit .Fa "void (*func)(void)" .Fc .Ft _Noreturn void .Fo quick_exit .Fa "int status" .Fc .Sh DESCRIPTION The .Fn quick_exit and .Fn at_quick_exit functions provide a veneer around .Xr _Exit 3C that allows for registered functions to be called before terminating. Like .Xr _Exit 3C , standard library termination is not done. .Xr atexit 3C functions are not called and various standard termination that occurs when calling .Xr exit 3C may not occur.

p Functions that are registered with .Fn at_quick_exit will be called in reverse order upon calling .Fn quick_exit . Functions registered with .Fn at_quick_exit will not be called at any other time. Functions that are registered with .Fn at_quick_exit should not make use of .Xr longjump 3C and related functions.

p After calling all registered functions, the .Fn quick_exit function will terminate the calling program and its exit status will be .Fa status . .Sh RETURN VALUES The .Fn quick_exit function does not return.

p The .Fn at_quick_exit function returns .Sy 0 on success. Otherwise, a non-zero error value is returned to indicate failure. .Sh ERRORS The .Fn at_quick_exit function may fail if: l -tag -width Er t Er ENOMEM Insufficient storage space is available. .El .Sh INTERFACE STABILITY .Sy Standard .Sh MT-LEVEL .Sy Safe .Sh SEE ALSO .Xr _Exit 3C , .Xr atexit 3C , .Xr exit 3C , .Xr attributes 5 , .Xr standards 5