summaryrefslogtreecommitdiff
path: root/src/stdlib/exit.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-31 01:11:36 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-31 01:11:36 -0500
commit5ca5b53beccb061a4390d23493e670d9f8b65cd7 (patch)
tree8ab5d59341e41c7eceb02b2cb2272adc37fd5ef8 /src/stdlib/exit.c
parentd2b6b441366cb56785a92694e19a084642c1c99e (diff)
fix up exit()/quick_exit() handlers
Diffstat (limited to 'src/stdlib/exit.c')
-rw-r--r--src/stdlib/exit.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/stdlib/exit.c b/src/stdlib/exit.c
index 12876050..cd3175d6 100644
--- a/src/stdlib/exit.c
+++ b/src/stdlib/exit.c
@@ -3,10 +3,13 @@
#include "_stdlib.h"
#include "_syscall.h"
+#if __STDC_VERSION__ < 199901L
+#include "_Exit.c"
+#endif
+
/** cause normal program termination **/
_Noreturn void exit(int status)
{
- long scno = __syscall_lookup(exit);
struct atexit *ae = &(__stdlib.atexit);
SIGNAL_SAFE(0);
@@ -30,9 +33,7 @@ _Noreturn void exit(int status)
fflush(NULL);
- for (;;) {
- __syscall(scno, status);
- }
+ _Exit(status);
}
/***