Ciao a tutti, ho un problema con la funzione pthread_create(). La chiamata ritorna un valore positivo, ma la routine specificata non viene eseguita.
Ecco il codice:
codice:
pthread_t t_id;
//acp è un intero, ovvero la socket sul quale il thread legge un messaggio
//worker è la routine da eseguire.
thread = pthread_create(&t_id, NULL, &worker, (void*)acp);
if(thread == -1){
perror("Crezione thread");
return -1;
}
printf("Thread creato\n");
pthread_detach(t_id);
Il risultato è che ho la stampa di "Thread creato", ma la stampa inserita nella prima riga dopo le dichiarazioni della funzione worker non viene eseguita.
Com'è possibile?