Bonjour,
Je bute sur une petite chose, j'espère que certains auront plus d'inspiration que moi !
Je développe une appli en linux embarqué (ca ne change rien au problème) et je voudrais pouvoir avertir plusieurs threads d'un évènement: l'appui sur un bouton poussoir. Un thread qui gère les entrées-sorties devra donc avertir tous les autres, leur nombre est variable, entre 2 et 10.
Je pensais utiliser des signaux mais j'ai lu ceci (ici):
Donc je ne peux pas utiliser de signaux, ca semblait parfait, existe-t'il d'autres systèmes que je pourrais utiliser ?Afin que sigwait fonctionne de manière fiable, les signaux que l'on attend doivent être bloqués dans tous les threads, pas seulement le thread appelant, sinon les sémantiques de POSIX concernant le traitement du signal ne garantissent pas que le thread appelant sigwait sera celui recevant le signal. La meilleur manière d'assurer cela est de bloquer ces signaux avant de créer les threads puis de ne jamais débloquer ces signaux dans aucun de ces threads sauf en appelant sigwait
Merci d'avance, Romain.
PS: je suis plus habitué en programmation sur microcontrôleurs, c'est un de mes premiers programmes sous linux...
Partager