ho fatto così e sembra funzionare.. mi puoi dire almeno se è corretto?
Codice PHP:
while (1) {
if ( (fd2 = accept(fd1, (struct sockaddr*) &client_addr, &client_len)) <= 0 )
write(2, "Errore Accept\n", strlen("Errore Accept\n"));
else {
sprintf(buf, "FD2= %d\n", fd2);
write(2, buf, strlen(buf) );
if (pthread_create(&tid, NULL, client, &fd2))
write(2, "Errore pthread_create\n", strlen("Errore pthread_create\n"));
else {
sprintf(buf, "#Connessione: %d; Thread client: %u; Numero client connessi: %d#\n", fd2, (unsigned int)tid, CONT + 1);
write(1, buf, strlen(buf));
pthread_cond_wait(&cond, &sem);
}
}
e nella funziona dopo l'acquisizione ho inserito
pthread_cond_signal(&cond);