Bonjour,
Je suis en train de finaliser mon petit programme, avec des plugins et des threads (pthread). Ce que j'aimerais maintenant implémenter, c'est une gestion des segfault au niveau des threads afin qu'un plugin mal codé ne puisse pas faire planter l'ensemble de l'application. Je pourrais ainsi décharger le plugin en question, nettoyer ses données et tuer son thread sans compromettre le fonctionnement global de l'application.
Le problème, c'est que je ne sais pas trop comment coder ça proprement. Apparemment, les gestionnaires de signaux ne sont pas thread safe, donc je ne sais pas trop où installer mes gestionnaires pour avoir le résultat escompté.
Voici un petit schéma du fonctionnement de mon programme :
[Serveur]
|
/ \
[Gestion + Écoute TCP]
|||
[Pool de threads interpreteurs]->utilisent les fonctions du plugin
Ce sont donc les threads du pool qui risquent le plus de planter. Puis-je leur faire partager le même gestionnaire ? Ou alors tout gérer avec des pthread_kill() depuis le thread de gestion ?
Merci d'avance pour votre aide :)
# Hmmm
Posté par Christophe Fergeau . Évalué à 3.
[^] # Re: Hmmm
Posté par JaguarWan . Évalué à 1.
Quoi qu'il en soit, merci pour ton aide :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.