marco89__
31-08-2014, 10:50
Salve a tutti!
Devo mettere in stato di attesa ( sigwait ) un processo, la wait deve finire non appena arriva un segnale sigusr1 o sigusr2 (ne basta uno). Devo usare sigalrm per risvegliare la wait?
#include <signal.h>
#include <stdio.h>
int main()
{
sigset_t set;
int sig;
sigemptyset(&set);
sigaddset(&set, SIGUSR1);
sigaddset(&set, SIGUSR2);
sigprocmask(SIG_BLOCK, &set, NULL);
sigwait(&set, &sig);
printf("Got signal %d\n", sig);
/*sigalrm?*/
return 0;
}
Devo mettere in stato di attesa ( sigwait ) un processo, la wait deve finire non appena arriva un segnale sigusr1 o sigusr2 (ne basta uno). Devo usare sigalrm per risvegliare la wait?
#include <signal.h>
#include <stdio.h>
int main()
{
sigset_t set;
int sig;
sigemptyset(&set);
sigaddset(&set, SIGUSR1);
sigaddset(&set, SIGUSR2);
sigprocmask(SIG_BLOCK, &set, NULL);
sigwait(&set, &sig);
printf("Got signal %d\n", sig);
/*sigalrm?*/
return 0;
}