Bonjour,

J'ai un gros soucis :

Dans mon application j'utilise un thread :

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
20
21
22
23
24
25
26
27
28
29
UINT CDlgMain::threadUpdateTC(LPVOID pParam)
{
	CDlgMain		*pThis			= NULL;
	long			lCurrentTimer	= timeGetTime();
 
	pThis =  (CDlgMain *)pParam;
	if (pThis == NULL)
		return 0;
 
	while(true)
	{
		if (WaitForSingleObject(pThis->m_hEventKillThreadUpTC, 100) != WAIT_TIMEOUT)
		{
			SetEvent(pThis->m_hEventKillThreadUpTCOK);
			return 0;
		}
		//Update enable properties for clip on replacement clip list every seconds
		if ((timeGetTime() - lCurrentTimer) >= 1000)
		{
			pThis->SendMessage(WM_ANSWER_RECEIVED, WM_UPDATE_ENABLE_PROP, NULL);
			lCurrentTimer = timeGetTime();
		}
		//check for starting first playback
		pThis->SendMessage(WM_ANSWER_RECEIVED, WM_CHECK_START_FIRST_PLAYBACK, NULL);
 
		pThis->SendMessage(WM_ANSWER_RECEIVED, WM_ON_MAIN_THREAD, NULL);
	}
	return 0;
}
Mon application tourne bien jusqu'a un certain moment (qqs heures) ou l'occupation CPU passe a 99% (augmentation progressive).
Le probleme c'est que quand je quitte mon application je n'ai aucun memory leaks. Je ne comprends pas d'ou peut provenir mon erreur...
La seule maniere de revenir a mon temps d'occupation initiale est de tuer le thread. Je pense donc que mon soucis vient de mon thread... Une idée ?

Merci d'avance....