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