Salve a tutti,
pongo un problema alquanto strano.. da main io do vita ad un thread incaricato di leggere dallo standard input. Queste letture gliele faccio fare con una fgets() ma, ovviamente, non mi funge.. ^^
L'eccezione a runtime è la seguente:
*** glibc detected *** ./msgcli: munmap_chunk(): invalid pointer: 0xbfc64570 ***
Posto il pezzetto di codice della funzione che esegue il thread alla creazione:
Ho verificato che il problema si verifica proprio per colpa di 'stdin'... I thread di un medesimo processo non condividono tutti la tabella dei file aperti?codice:static void* senderJob(void *arg) { char line[MESSAGE_MAX_LENGTH]; while(1) { if(fgets(line, MESSAGE_MAX_LENGTH, stdin) == NULL) SEND_EXIT(1, "Error while reading from standard input") ... }
Non dovrebbe essere un problema, quindi, poter leggere da standard input...
Qualcuno ha qualche idea brillante?? :master:
Thanks a lot...