1*dcdfe824SRobert Mustacchi.\" 2*dcdfe824SRobert Mustacchi.\" This file and its contents are supplied under the terms of the 3*dcdfe824SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0. 4*dcdfe824SRobert Mustacchi.\" You may only use this file in accordance with the terms of version 5*dcdfe824SRobert Mustacchi.\" 1.0 of the CDDL. 6*dcdfe824SRobert Mustacchi.\" 7*dcdfe824SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this 8*dcdfe824SRobert Mustacchi.\" source. A copy of the CDDL is also available via the Internet at 9*dcdfe824SRobert Mustacchi.\" http://www.illumos.org/license/CDDL. 10*dcdfe824SRobert Mustacchi.\" 11*dcdfe824SRobert Mustacchi.\" 12*dcdfe824SRobert Mustacchi.\" Copyright 2016 Joyent, Inc. 13*dcdfe824SRobert Mustacchi.\" 14*dcdfe824SRobert Mustacchi.Dd "Mar 26, 2016" 15*dcdfe824SRobert Mustacchi.Dt QUICK_EXIT 3C 16*dcdfe824SRobert Mustacchi.Os 17*dcdfe824SRobert Mustacchi.Sh NAME 18*dcdfe824SRobert Mustacchi.Nm at_quick_exit , 19*dcdfe824SRobert Mustacchi.Nm quick_exit 20*dcdfe824SRobert Mustacchi.Nd terminate a running process with minimal teardown 21*dcdfe824SRobert Mustacchi.Sh SYNOPSIS 22*dcdfe824SRobert Mustacchi.In stdlib.h 23*dcdfe824SRobert Mustacchi.Ft int 24*dcdfe824SRobert Mustacchi.Fo at_quick_exit 25*dcdfe824SRobert Mustacchi.Fa "void (*func)(void)" 26*dcdfe824SRobert Mustacchi.Fc 27*dcdfe824SRobert Mustacchi.Ft _Noreturn void 28*dcdfe824SRobert Mustacchi.Fo quick_exit 29*dcdfe824SRobert Mustacchi.Fa "int status" 30*dcdfe824SRobert Mustacchi.Fc 31*dcdfe824SRobert Mustacchi.Sh DESCRIPTION 32*dcdfe824SRobert MustacchiThe 33*dcdfe824SRobert Mustacchi.Fn quick_exit 34*dcdfe824SRobert Mustacchiand 35*dcdfe824SRobert Mustacchi.Fn at_quick_exit 36*dcdfe824SRobert Mustacchifunctions provide a veneer around 37*dcdfe824SRobert Mustacchi.Xr _Exit 3C 38*dcdfe824SRobert Mustacchithat allows for registered functions to be called before terminating. 39*dcdfe824SRobert MustacchiLike 40*dcdfe824SRobert Mustacchi.Xr _Exit 3C , 41*dcdfe824SRobert Mustacchistandard library termination is not done. 42*dcdfe824SRobert Mustacchi.Xr atexit 3C 43*dcdfe824SRobert Mustacchifunctions are not called and various standard termination that occurs 44*dcdfe824SRobert Mustacchiwhen calling 45*dcdfe824SRobert Mustacchi.Xr exit 3C 46*dcdfe824SRobert Mustacchimay not occur. 47*dcdfe824SRobert Mustacchi.Pp 48*dcdfe824SRobert MustacchiFunctions that are registered with 49*dcdfe824SRobert Mustacchi.Fn at_quick_exit 50*dcdfe824SRobert Mustacchiwill be called in reverse order upon calling 51*dcdfe824SRobert Mustacchi.Fn quick_exit . 52*dcdfe824SRobert MustacchiFunctions registered with 53*dcdfe824SRobert Mustacchi.Fn at_quick_exit 54*dcdfe824SRobert Mustacchiwill not be called at any other time. Functions that are registered with 55*dcdfe824SRobert Mustacchi.Fn at_quick_exit 56*dcdfe824SRobert Mustacchishould not make use of 57*dcdfe824SRobert Mustacchi.Xr longjump 3C 58*dcdfe824SRobert Mustacchiand related functions. 59*dcdfe824SRobert Mustacchi.Pp 60*dcdfe824SRobert MustacchiAfter calling all registered functions, the 61*dcdfe824SRobert Mustacchi.Fn quick_exit 62*dcdfe824SRobert Mustacchifunction will terminate the calling program and its exit status will be 63*dcdfe824SRobert Mustacchi.Fa status . 64*dcdfe824SRobert Mustacchi.Sh RETURN VALUES 65*dcdfe824SRobert MustacchiThe 66*dcdfe824SRobert Mustacchi.Fn quick_exit 67*dcdfe824SRobert Mustacchifunction does not return. 68*dcdfe824SRobert Mustacchi.Pp 69*dcdfe824SRobert MustacchiThe 70*dcdfe824SRobert Mustacchi.Fn at_quick_exit 71*dcdfe824SRobert Mustacchifunction returns 72*dcdfe824SRobert Mustacchi.Sy 0 73*dcdfe824SRobert Mustacchion success. Otherwise, a non-zero error value is returned to indicate 74*dcdfe824SRobert Mustacchifailure. 75*dcdfe824SRobert Mustacchi.Sh ERRORS 76*dcdfe824SRobert MustacchiThe 77*dcdfe824SRobert Mustacchi.Fn at_quick_exit 78*dcdfe824SRobert Mustacchifunction may fail if: 79*dcdfe824SRobert Mustacchi.Bl -tag -width Er 80*dcdfe824SRobert Mustacchi.It Er ENOMEM 81*dcdfe824SRobert MustacchiInsufficient storage space is available. 82*dcdfe824SRobert Mustacchi.El 83*dcdfe824SRobert Mustacchi.Sh INTERFACE STABILITY 84*dcdfe824SRobert Mustacchi.Sy Standard 85*dcdfe824SRobert Mustacchi.Sh MT-LEVEL 86*dcdfe824SRobert Mustacchi.Sy Safe 87*dcdfe824SRobert Mustacchi.Sh SEE ALSO 88*dcdfe824SRobert Mustacchi.Xr _Exit 3C , 89*dcdfe824SRobert Mustacchi.Xr atexit 3C , 90*dcdfe824SRobert Mustacchi.Xr exit 3C , 91*dcdfe824SRobert Mustacchi.Xr attributes 5 , 92*dcdfe824SRobert Mustacchi.Xr standards 5 93