Bonjour !
J'ai pour mission de porter un programme initialement écrit pour Windows
sous Linux. Or depuis quelques temps je me heurte à un petit problème ..
En effet je ne comprend pas bien une utilisation des win32 threads que j'ai vu, et par conséquent je ne suis pas à même de reproduire le même comportement avec Pthread. Je m'explique :
Dans le programme originel en question un thread est créer de la maniere suivante :
HANDLE MonThread = CREATE_THREAD(...);
J'en conclut donc qu'à partir de ce moment ci le thread est "lancé" et il fait son affaire, ainsi je peux "remplacer" ce bout de code par quelque chose comme :
pthread_t MonThread;
pthread_create(&MonThread, ....);
Cependant bien plus loin dans la suite du code je rencontre ceci :
WaitForSingleObject(MonThread, INFINITE) !
Ce qui revient à faire une mutelle exclusion !
Est-ce que WaitForSingleObject(MonThread, INFINITE) revient a faire un mutex sur tout le thread MonThread ?
Si c'est le cas je ne sais pas comment "émuler" ce comportement avec pthread ...
La seule valeure renvoyée à la création du thread avec pthread est de type
pthread_t or pour utilisier pthread_mutex_lock() je dois passer en paramétre
une variable de type pthread_mutex_t ....
Savez-vous comment je peux m'en sortir ?
Bien le merci,
Salut !
Partager