pthread_create passage de structure
Bonjour,
Je voudrait passer en argument une structure dans la fonction pthread_create
Je fais comme suit sans résultat
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
struct data {
int i0,i1;
double *p;
} my_struct;
void *myThread(void *arg)
{
printf("%lf",(struct data *)arg->i0);
pthread_exit(NULL);
}
void calcul_emit_thread_(int *iptsss,double *cord,double *loss)
{
int i;
int ret;
pthread_attr_t *thAttr[2];
thAttr[0]=thAttr[1]=NULL;
pthread_t tid[2];
struct data *str[2];
str[0]=(struct data *)malloc(sizeof(struct data));
str[1]=(struct data *)malloc(sizeof(struct data));
for (i=0;i<2;i++) {
pthread_create(&tid[i], thAttr[i], myThread, (void *)str[i]);
}
} |
Ca plante sur le printf. j'ai cru comprendre qu'il fallait passer par des cast, mais je ne sais pas ce que c'est
Merci de vos lumiéres