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