Thread non terminer

Signaler
Messages postés
31
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
26 mars 2009
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
salut
je developpe un programme qui utilise un thread , le probleme c que quand je ferme la fenetre le processus de mon programme reste en exécution en mettant (alt+ctrl+suppr).
je vous signale qu avant de fermer la fenetre ( dans la fonction onclose) je met
::WaitForSingleObject
(m_hThread
,20000)
j espere que vous pouvez m aider
merci

1 réponse

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
C'est que le thread que tu attend ne se termine pas.
Pour que WaitForSingleObject retourne, il faut que le thread représenté par m_hThread sorte de son point d'entrée. Il fuat donc dire au thread (par l'intermédiare d'une var globale partager) de sortir de sa boucle de traitement.
La solution plus sauvage est TerminateThread à éviter si possible.