quick_exit.c 283 B

123456789101112131415
  1. #include <stdlib.h>
  2. #include "syscall.h"
  3. #include "atomic.h"
  4. #include "libc.h"
  5. static void dummy() { }
  6. weak_alias(dummy, __funcs_on_quick_exit);
  7. void quick_exit(int code)
  8. {
  9. static int lock;
  10. while (a_swap(&lock, 1)) __syscall(SYS_pause);
  11. __funcs_on_quick_exit();
  12. _Exit(code);
  13. }