Je cherche à terminer mon programme quand le thread lancé depuis celui-ci lui en envoi le signal. J'imagine que exit(1) ne fonctionnera pas et je ne sais pas trop comment m'y prendre.
Je cherche à terminer mon programme quand le thread lancé depuis celui-ci lui en envoi le signal. J'imagine que exit(1) ne fonctionnera pas et je ne sais pas trop comment m'y prendre.
Pourquoi exit() ne fonctionnerait pas ?
Autant pour moi, ça fonctionne. Mais il se passe quelque chose d'étrange : j'ai une application serveur et elle est sensée se terminer avec le fameux signal du thread (qui correspond à un client). J'ai donc mis un test sur le buffer de réception et s'il est vérifié alors exit(1).
Résultat, après la réception du signal mon programme me laisse entrer 2 commandes (qui ne répondent pas) puis se termine.
Pourquoi mon application ne se termine-t-elle pas directement ?
Quelle plate-forme ?
Sous Windows, un processus se termine dans plusieurs circonstances. En gros, quand tous les threads sont terminés, quand main() retourne, ou quand n'importe quel thread appelle ExitProcess(). Tu peux essayer de ce coté-ci...
Mon problème est résolu. J'ai modifié une partie du code dans le thread tout en laissant exit(1). Et maintenant, ça fonctionne très bien sans que j'ai vraiment eu le temps de comprendre ce qui c'est passé.
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager