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