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