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)) <= )
            
write(2"Errore Accept\n"strlen("Errore Accept\n"));
        else {
      
      
sprintf(buf"FD2= %d\n"fd2);
        
write(2bufstrlen(buf) );
            if (
pthread_create(&tidNULLclient, &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)tidCONT 1);
                
write(1bufstrlen(buf));
            
            
pthread_cond_wait(&cond, &sem);    
                
            }
        } 
e nella funziona dopo l'acquisizione ho inserito

pthread_cond_signal(&cond);