Salut,
J'ai un petit problème je ne suis pas capable de passer une chaine de caractere provenant d'une structure vers ma fonction appelé par pthread_create.
ma structure:
traitement (code minimaliste...):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct Info_FIFO_Transaction { int pid_client; char transaction[100]; };
fonction readTrans (code minimaliste...):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 struct Info_FIFO_Transaction buffer; //Si FIFO ouverte avec succès if(FIFO_TRANSACTION != -1){ do{ //Lecture dans la FIFO res = read(FIFO_TRANSACTION,&buffer,sizeof(struct Info_FIFO_Transaction)); //Si données présentes, traitement de la transaction if(res>0){ //Traitement de la transaction int rc; pthread_t t1; rc = pthread_create(&t1,NULL,readTrans,(void *)buffer.transaction); } }while(...);
je n'arrive pas a faire passer ma chaine de caractere dans la fonction readTrans, cela me donne toujours un SEG FAULT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void* readTrans(void* arg){ char nomFichier[100]; nomFichier = (char *)arg; printf("%s\n",nomFichier); }
Je suis sous linux.
Merci !
Partager