signal.c 354 B

1234567891011121314151617181920212223
  1. #include <syscall.h>
  2. #include <errno.h>
  3. #include <unistd.h>
  4. #include <signal.h>
  5. int kill(pid_t pid, int sig)
  6. {
  7. int ret = syscall2(SYS_kill, pid, sig);
  8. if (ret < 0) {
  9. errno = -ret;
  10. return -1;
  11. }
  12. return ret;
  13. }
  14. int raise(int sig)
  15. {
  16. pid_t pid = getpid();
  17. if (pid < 0)
  18. return -1;
  19. return kill(pid, sig);
  20. }