summaryrefslogtreecommitdiff
path: root/src/stdlib/exit.c
diff options
context:
space:
mode:
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);
}
/***