Sto realizzando un progetto in cui server e client comunicano attreverso un socket. Alla ricezione di un segnale con sigwait però la accept non risponde neanche chiudendo il socket. Qualcuno ha idea del perchè?
int main () {
......
ec_signal(sigemptyset(&set));
ec_signal(sigaddset(&set,SIGINT));
ec_signal(sigaddset(&set,SIGQUIT));
ec_signal(sigaddset(&set,SIGUSR1));
ec_signal(sigaddset(&set,SIGUSR2));
ec_signal(sigaddset(&set,SIGTERM));
pthread_sigmask(SIG_BLOCK,&set,NULL);
...
}
thread segnali {
while(1) {
sigwait(&set,&sig_num);
}
}
Sbaglio qualcosa nel mascherare i segnali?