From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/c/program%2Fat_quick_exit.html | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 devdocs/c/program%2Fat_quick_exit.html (limited to 'devdocs/c/program%2Fat_quick_exit.html') diff --git a/devdocs/c/program%2Fat_quick_exit.html b/devdocs/c/program%2Fat_quick_exit.html new file mode 100644 index 00000000..fd003acf --- /dev/null +++ b/devdocs/c/program%2Fat_quick_exit.html @@ -0,0 +1,45 @@ +

at_quick_exit

Defined in header <stdlib.h>
int at_quick_exit( void (*func)(void) );
+
(since C11)

Registers the function pointed to by func to be called on quick program termination (via quick_exit).

+

Calling the function from several threads does not induce a data race. The implementation is guaranteed to support the registration of at least 32 functions. The exact limit is implementation-defined.

+

The registered functions will not be called on normal program termination. If a function need to be called in that case, atexit must be used.

+

Parameters

+ +
func - pointer to a function to be called on quick program termination

Return value

​0​ if the registration succeeds, nonzero value otherwise.

+

Example

#include <stdlib.h>
+#include <stdio.h>
+ 
+void f1(void)
+{
+    puts("pushed first");
+    fflush(stdout);
+}
+ 
+void f2(void)
+{
+    puts("pushed second");
+}
+ 
+int main(void)
+{
+    at_quick_exit(f1);
+    at_quick_exit(f2);
+    quick_exit(0);
+}

Output:

+
pushed second
+pushed first

References

See also

+ + + + +
causes abnormal program termination (without cleaning up)
(function)
causes normal program termination with cleaning up
(function)
registers a function to be called on exit() invocation
(function)
+
(C11)
causes normal program termination without completely cleaning up
(function)
C++ documentation for at_quick_exit
+

+ © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
+ https://en.cppreference.com/w/c/program/at_quick_exit +

+
-- cgit v1.2.3