[OpenBSD] Signaux

Le
JKB
Bonjour à tous,

Question du lundi matin sur la gestion des signaux par OpenBSD. J'ai
écrit un bout de code mutiprocesseur qui utilise un tas de signaux
pour se synchroniser. Il _fonctionne_ parfaitement partout sauf sous
OpenBSD.

J'ai donc tracé ce qui se passe dans un gestionnaire de signal et je
me suis apperçu que ce gestionnaire de signal n'est jamais appelé.

J'ai aussi essayé de forcer ce signal par un bête et méchant
kill -PROF pid et _jamais_ le gestionnaire de signal n'est appelé.
Le gestionnaire de signal est implanté grâce à :

action.sa_sigaction = interruption9;
action.sa_flags = SA_ONSTACK | SA_SIGINFO;

Dans le cas OpenBSD, je redéfinis SA_ONSTACK à 0 (parce que
-lpthread et sigaltstack, enfin, je ne continue pas) et je
n'utilise pas la structure siginfo qui est remplie de choses
fausses.

Le kill() lançant le signal dans mon programme renvoie _toujours_ 0.

Bref : y a-t-il un truc dans OpenBSD qui empêche la réception d'un
signal ?

Merci de vos lumières.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse
=> http://grincheux.de-charybde-en-scylla.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Miod Vallat
Le #22476441
J'ai aussi essayé de forcer ce signal par un bête et méchant
kill -PROF pid et _jamais_ le gestionnaire de signal n'est appelé.
Le gestionnaire de signal est implanté grâce à :



La bibliothèque libpthread du système (threads userland) utilise SIGPROF
pour ses propres besoins.

Oui c'est moche, non ce ne sera pas corrigé, le travail portant
actuellement sur des threads noyau (librthread) qui remplaceront à terme
la libpthread existante.
JKB
Le #22476451
Le Mon, 16 Aug 2010 09:31:38 +0000 (UTC),
Miod Vallat

J'ai aussi essayé de forcer ce signal par un bête et méchant
kill -PROF pid et _jamais_ le gestionnaire de signal n'est appelé.
Le gestionnaire de signal est implanté grâce à :



La bibliothèque libpthread du système (threads userland) utilise SIGPROF
pour ses propres besoins.



Merci pour cette info.

Oui c'est moche, non ce ne sera pas corrigé, le travail portant
actuellement sur des threads noyau (librthread) qui remplaceront à terme
la libpthread existante.



Il n'y a pas à dire, OpenBSD est un système qui me plaît de plus en
plus...

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Publicité
Poster une réponse
Anonyme