bonjour
j'ai un petit souci avec mon mutex pthread qui se comporte pas comme j'aimerais![]()
il me semblait que d'une certaine maniere pthread faisait une queue FIFO de tous les thread qui faisaient lock() sur un mutex deja locke, et qu'il les reveillait dans l'ordre dans lequels ils sont appelle lock(), et apparement c'est pas forcement le cas. Sur 2 machines j'ai 2 comportement different, ce qui me pose probleme c'est que sur l'une :
ne rend jamais la main a d'autres threads qui auraient appelle mutex.lock()
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 while (true) { mutex.lock(); ... mutex.unlock(); }
aurais-je mal initialise mon mutex ?
je l'initialise commee suit :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 pthread_mutex_t* lMutex = new pthread_mutex_t; if(::pthread_mutex_init(lMutex, 0)) throw Exception(eOtherError, "Mutex::Mutex() can't create!");
Partager