for(;;) { /* diag(SS_MAIN|INFO,"sleeping on select()\n"); */ read_fds=active_fds; do { ss=select(1+m,&read_fds,0,0,NULL); if(ss<0 && errno!=EINTR) diag(SS_MAIN|DIERR,"select() failed"); } while(ss<0); for(i=0;i 0) clients--; //controlla che il numero di clients non scenda al di sotto di zero } pthread_sigmask(SIG_UNBLOCK,&sigs,0); } pthread_mutex_unlock(&clients_mtx);