Forum Programmation.c++ exit dans un programme multi-threadé

Posté par  .
Étiquettes : aucune
0
31
mai
2007
Bonjour,

en C++, j'ai un programme multi-threadé sur Linux, et un collègue m'a dit que si je fais un exit dans un thread, alors les autres threads risquent de faire un core dump.
(j'utilise la Native POSIX Thread Library je crois)

je ne crois pas qu'il ait raison pour plusieurs raisons :
- j'ai fait un test simple, et tous les threads se terminent apparemment proprement et en même temps dès que l'un d'eux fait un exit.
- le man de exit dit que ça termine le process (sans parler des threads)
- mon collègue vient du monde windows

Est-ce que quelqu'un a un peu plus d'assurance sur ce sujet ?
Merci.
  • # Ça semble correct

    Posté par  . Évalué à 4.

    D'après le document « Native POSIX Threads Library: NPTL » :

    A second variant of the exit system call was introduced: exit_group. The old system call kept the meaning of terminating the current thread. The new system call terminates the entire process.

    Donc je pense que exit a toujours et terminera toujours uniquement le thread courant et exit_group le processus et donc tous ses threads.
  • # Signal

    Posté par  . Évalué à 1.

    Terminer le thread ne renvoie pas un signal au processus père ??

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.