The behaviour is similar to returning a value from main.
Checkpatch-Ignore: EMBEDDED_FUNCTION_NAME
Signed-off-by: Marco Schlumpp <marco.schlumpp@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Reviewed-by: Marc Rittinghaus <marc.rittinghaus@unikraft.io>
Approved-by: Marc Rittinghaus <marc.rittinghaus@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #627
# stdlib
abort
+exit
strtol
strtoul
strtoll
void abort(void) __noreturn;
+void exit(int status) __noreturn;
+
void qsort(void *base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
uk_pr_crit("Abnormal termination!\n");
ukplat_crash();
}
+
+#ifndef CONFIG_LIBPOSIX_PROCESS
+void exit(int status)
+{
+ uk_pr_info("exit called with status %d, halting system\n", status);
+ ukplat_terminate(status);
+}
+#endif /* !CONFIG_LIBPOSIX_PROCESS */