siginterrupt.c 240 B

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