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%2Fquick_exit.html | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 devdocs/c/program%2Fquick_exit.html (limited to 'devdocs/c/program%2Fquick_exit.html') diff --git a/devdocs/c/program%2Fquick_exit.html b/devdocs/c/program%2Fquick_exit.html new file mode 100644 index 00000000..2527ca17 --- /dev/null +++ b/devdocs/c/program%2Fquick_exit.html @@ -0,0 +1,52 @@ +

quick_exit

Defined in header <stdlib.h>
_Noreturn void quick_exit( int exit_code );
+(since C11)
(until C23) +
[[noreturn]] void quick_exit( int exit_code );
+
(since C23)

Causes normal program termination to occur without completely cleaning the resources.

+

Functions passed to at_quick_exit are called in reverse order of their registration. After calling the registered functions, calls _Exit(exit_code).

+

Functions passed to atexit or signal handlers passed to signal are not called.

+

Parameters

+ +
exit_code - exit status of the program

Return value

(none)

+

Example

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

Output:

+
pushed second
+pushed first

References

See also

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

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

+
-- cgit v1.2.3