J'aimerai avoir votre avis la dessus :

Je viens de demander à un tread de sortir. Il est cencé l'avoir fait.
Voici ce que je code pour m'en assurer, est ce propre et comme il faut ou pas?

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
void Terminer le thread()
{

	DWORD CloseResult;
	//Instruction qui dit au thread de sortir
	[...]
	//Voila là il est cencé s'etre terminé proprement
	CloseResult= WaitForSingleObject(hMonThread,TIMEOUT_SORTIE_THREAD); //TIMEOUT_SORTIE_THREAD etant une constante que j'ai défini et qui est cencée laisser amplement le temps au thread de sortir
	//Si le thread n'a pas reussi à sortir bien sagement
	if(CloseResult==WAIT_TIMEOUT)
	{
		//On force sa fin (ce qui est bien domage)
		TerminateThread(s_htTrigPIVgrab,0);
		//On ferme son handle
		CloseHandle(s_htTrigPIVgrab);
		//On reset le handle
		s_htTrigPIVgrab=NULL
	}
}