PB occupation CPU a 100% apres qqs heures d'utilisation...
Bonjour,
J'ai un gros soucis :
Dans mon application j'utilise un thread :
Code:
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....