Ciao a tutti,
devo fare un cast tra un void * e una struct e non so come si fa!!!!
Ho questo questa struttura:
allocata,dichiarata e inizializzata così:codice:typedef struct parametri_ascolto { int fdserver; int *thread_id; }param;
usata così:codice:param *arg_ascolto = (param *)malloc(sizeof(param)); arg_ascolto->fdserver = fdg; arg_ascolto->thread_id = (int *)tid; //---->>> verficare
I cast li devo fare nella funzione ascolto e sono questi:codice:pthread_t tid_ascolto; if( ( err = pthread_create(&tid_ascolto,NULL,ascolto,&arg_ascolto) ) != 0 ) { printf("errore %s\n",strerror(err)); exit(1); }
Scuasate la scocciatura e grazie dell'aiutocodice:void *ascolto(void *x) { struct parametri_ascolto arg = (struct parametri_ascolto )&x; //---->>> non so come si fa int fdg = arg.fdserver; pthread_t *tid = arg.thread_id; //--->> da verificare ... ...

Rispondi quotando

