xref: /dflybsd-src/lib/libc/stdlib/at_quick_exit.3 (revision 1305f398305bd1fdf2b3b12e44f4d845597b7ff3)
1f3adbb3cSSascha Wildner.\"  Copyright (c) 2011 David Chisnall
2f3adbb3cSSascha Wildner.\"  All rights reserved.
3f3adbb3cSSascha Wildner.\"
4f3adbb3cSSascha Wildner.\"  Redistribution and use in source and binary forms, with or without
5f3adbb3cSSascha Wildner.\"  modification, are permitted provided that the following conditions
6f3adbb3cSSascha Wildner.\"  are met:
7f3adbb3cSSascha Wildner.\"  1. Redistributions of source code must retain the above copyright
8f3adbb3cSSascha Wildner.\"     notice, this list of conditions and the following disclaimer.
9f3adbb3cSSascha Wildner.\"  2. Redistributions in binary form must reproduce the above copyright
10f3adbb3cSSascha Wildner.\"     notice, this list of conditions and the following disclaimer in the
11f3adbb3cSSascha Wildner.\"     documentation and/or other materials provided with the distribution.
12f3adbb3cSSascha Wildner.\"
13f3adbb3cSSascha Wildner.\"  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14f3adbb3cSSascha Wildner.\"  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15f3adbb3cSSascha Wildner.\"  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16f3adbb3cSSascha Wildner.\"  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17f3adbb3cSSascha Wildner.\"  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18f3adbb3cSSascha Wildner.\"  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19f3adbb3cSSascha Wildner.\"  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20f3adbb3cSSascha Wildner.\"  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21f3adbb3cSSascha Wildner.\"  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22f3adbb3cSSascha Wildner.\"  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23f3adbb3cSSascha Wildner.\"  SUCH DAMAGE.
24f3adbb3cSSascha Wildner.\"
25f3adbb3cSSascha Wildner.\"  $FreeBSD: src/lib/libc/stdlib/at_quick_exit.3,v 1.4 2012/07/26 12:04:11 pluknet Exp $
26f3adbb3cSSascha Wildner.\"
27f3adbb3cSSascha Wildner.Dd August 9, 2012
28f3adbb3cSSascha Wildner.Dt AT_QUICK_EXIT 3
29f3adbb3cSSascha Wildner.Os
30f3adbb3cSSascha Wildner.Sh NAME
31f3adbb3cSSascha Wildner.Nm at_quick_exit
32f3adbb3cSSascha Wildner.Nd registers a cleanup function to run on quick exit
33f3adbb3cSSascha Wildner.Sh LIBRARY
34f3adbb3cSSascha Wildner.Lb libc
35f3adbb3cSSascha Wildner.Sh SYNOPSIS
36f3adbb3cSSascha Wildner.In stdlib.h
37f3adbb3cSSascha Wildner.Ft int
38f3adbb3cSSascha Wildner.Fn at_quick_exit "void (*func)(void)"
39f3adbb3cSSascha Wildner.Sh DESCRIPTION
40f3adbb3cSSascha WildnerThe
41f3adbb3cSSascha Wildner.Fn at_quick_exit
42f3adbb3cSSascha Wildnerfunction registers a cleanup function to be called when the program exits as a
43f3adbb3cSSascha Wildnerresult of calling
44f3adbb3cSSascha Wildner.Xr quick_exit 3 .
45f3adbb3cSSascha WildnerThe cleanup functions are called in the reverse order and will not be called if
46f3adbb3cSSascha Wildnerthe program exits by calling
47f3adbb3cSSascha Wildner.Xr exit 3 ,
48f3adbb3cSSascha Wildner.Xr _Exit 3 ,
49f3adbb3cSSascha Wildneror
50f3adbb3cSSascha Wildner.Xr abort 3 .
51f3adbb3cSSascha Wildner.Sh RETURN VALUES
52f3adbb3cSSascha WildnerThe
53f3adbb3cSSascha Wildner.Fn at_quick_exit
54f3adbb3cSSascha Wildnerfunction returns the value 0 if successful and a non-zero value on failure.
55*faf683e3SSascha Wildner.Sh ERRORS
56*faf683e3SSascha WildnerThe function is registered unless:
57*faf683e3SSascha Wildner.Bl -tag -width Er
58*faf683e3SSascha Wildner.It Bq Er ENOMEM
59*faf683e3SSascha WildnerAn allocation to register the function failed.
60*faf683e3SSascha Wildner.El
61f3adbb3cSSascha Wildner.Sh SEE ALSO
62f3adbb3cSSascha Wildner.Xr exit 3 ,
63f3adbb3cSSascha Wildner.Xr quick_exit 3
64f3adbb3cSSascha Wildner.Sh STANDARDS
65f3adbb3cSSascha WildnerThe
66f3adbb3cSSascha Wildner.Fn at_quick_exit
67f3adbb3cSSascha Wildnerfunction conforms to
68f3adbb3cSSascha Wildner.St -isoC-2011 .
69