siginterrupt.c 214 B

123456789101112
  1. #include <signal.h>
  2. int siginterrupt(int sig, int flag)
  3. {
  4. struct sigaction sa;
  5. sigaction(sig, 0, &sa);
  6. if (flag) sa.sa_flags &= ~SA_RESTART;
  7. else sa.sa_flags |= SA_RESTART;
  8. return sigaction(sig, &sa, 0);
  9. }