summaryrefslogtreecommitdiff
path: root/usr/src/man/man3c/quick_exit.3c
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2016-03-28 19:43:25 -0700
committerRobert Mustacchi <rm@joyent.com>2016-05-19 07:45:52 -0700
commitfc2512cfb727d49529d8ed99164db871f4829b73 (patch)
tree89ea56b5a9833e92795bf45c723c6de65b7490f2 /usr/src/man/man3c/quick_exit.3c
parentea4a67f462de0a39a9adea8197bcdef849de5371 (diff)
downloadillumos-joyent-fc2512cfb727d49529d8ed99164db871f4829b73.tar.gz
6951 Initial c11 support
6952 gets should not be visible in C11 6953 add support for c11 threads api 6954 Symbols test should support validating pre-processor symbols Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/man/man3c/quick_exit.3c')
-rw-r--r--usr/src/man/man3c/quick_exit.3c92
1 files changed, 92 insertions, 0 deletions
diff --git a/usr/src/man/man3c/quick_exit.3c b/usr/src/man/man3c/quick_exit.3c
new file mode 100644
index 0000000000..e3e17603b4
--- /dev/null
+++ b/usr/src/man/man3c/quick_exit.3c
@@ -0,0 +1,92 @@
+.\"
+.\" 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
+.In 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.
+.Pp
+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.
+.Pp
+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.
+.Pp
+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:
+.Bl -tag -width Er
+.It 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