Является ли sa_sigaction потокобезопасным? - PullRequest
0 голосов
/ 13 февраля 2020
  struct sigaction action;

  action.sa_sigaction = ChildHandler; 
  sigfillset (&action.sa_mask);
  action.sa_flags = SA_SIGINFO; 

  sigaction (SIGCHLD, &action, NULL);


void ChildHandler (int sig, siginfo_t *sip, void *notused)
{
int x= 7;
int y = 9;
int z = x + y ; 
int y=1;
}

функция ChildHandler вызывается при поступлении SIGCHLD.

Как это реализовать? нужно ли защищать ChildHandler с помощью блокировки?

В противном случае в примере, если 2 сигнала будут получены одновременно, код Кала будет неправильным

...