summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/siginterrupt.c
blob: 8926f09ed8ce283f68c7e0ed8fa3cf51e053705c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <signal.h>

int siginterrupt(int sig, int flag) {
  int ret;
  struct sigaction act;

  sigaction(sig, 0, &act);

  if (flag)
    act.sa_flags &= ~SA_RESTART;
  else
    act.sa_flags |= SA_RESTART;

  ret = sigaction(sig, &act, 0);

  return ret;
}