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