Thread et variable globale

cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011 - 13 juil. 2004 à 09:07
cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011 - 13 juil. 2004 à 11:34
Bonjour,

Je developpe une application en C++.
La classe que je developpe comporte une méthode "recevoir (char *trame). Dans cette méthode, je fais appel à une autre méthode appelée "reception(char *message)".
Cette méthode créé un thread fils (fork()) qui récupère des données envoyées par un client (c une appli client/serveur), et il modifie la variable "message".
Dans le pere, je fais un wait(0) qui attend la fin du fils.
et malgré tout, je ne vois pas, depuis le père, la valeur de la variable message, alors que le fils l'a bien remplie !!
Est ce normal ???

Voici le squelette de mon prog:

int recevoir(char * trame){
int val_retour;
val_retour = reception(trame);
return val_retour;
}

int reception (char *message){
int val_retour = 0;
if (fork()!=0){
//père
wait(0);
cout<<message;
}
else{
//fils
//traitement de la réception
//message est remplit.
}
}

Merci
Valoue

1 réponse

cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011
13 juil. 2004 à 11:34
Apparemment si je veux pouvoir partager l'environnement (ie les variables) il faut que j'utilise les threads posix.
Je tente donc d'utiliser les thread Posix avec pthread_create.

Quelqu'un saurait-il comment utiliser pthread_create dans une classe C++.
G un pb sur la méthode que je veux appeler pour le thread (et donnée dans pthread_create, en paramètre). Il faut apparemment qu'elle soit static ou je ne sais koi.

Pourriez vous m'expliquer ??

Valoue
0
Rejoignez-nous