table of contents
other sections
SIGWAITINFO(2) | Manuel du programmeur Linux | SIGWAITINFO(2) |
NOM¶
sigwaitinfo, sigtimedwait - Attente synchrone de signauxSYNOPSIS¶
#include <signal.h>int sigwaitinfo(const sigset_t *set, siginfo_t *info);int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout);
Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :
DESCRIPTION¶
sigwaitinfo() suspend l'exécution du thread appelant jusqu'à ce que l'un des signaux de l'ensemble set soit en attente. (Si l'un des signaux de l'ensemble set est déjà en attente pour le thread appelant, sigwaitinfo() retourne immédiatement).struct timespec { long tv_sec; /* secondes */ long tv_nsec; /* nanosecondes */ }
VALEUR RENVOYÉE¶
S'ils réussissent sigwaitinfo() et sigtimedwait() renvoient un numéro de signal (une valeur supérieure à zéro). S'ils échouent, ils renvoient -1, et errno contient le code d'erreur.ERREURS¶
- EAGAIN
- Aucun signal de l'ensemble set n'a été mis en attente avant expiration du délai timeout indiqué pour sigtimedwait().
- EINTR
- L'appel a été interrompu par un gestionnaire de signal ; consultez signal(7). (Un signal autre que ceux présents dans l'ensemble set.)
- EINVAL
- timeout était invalide.
CONFORMITɶ
POSIX.1-2001.NOTES¶
En utilisation habituelle, l'appelant bloque les signaux de l'ensemble set au préalable avec un appel sigprocmask(2) (afin que la délivrance des signaux ne se produise pas s'ils sont mis en attente entre deux appels successifs à sigwaitinfo() ou sigtimedwait()) et n'installe pas de gestionnaire pour ces signaux. Dans un programme multithreadé, le signal doit être bloqué dans tous les threads pour empêcher que le signal ne soit traité conformément à sa disposition par défaut dans un autre thread que celui exécutant sigwaitinfo() ou sigtimedwait().VOIR AUSSI¶
kill(2), sigaction(2), signal(2), signalfd(2), sigpending(2), sigprocmask(2), sigqueue(3), sigsetops(3), sigwait(3), signal(7), time(7)COLOPHON¶
Cette page fait partie de la publication 3.44 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <http://www.kernel.org/doc/man-pages/>.TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>. Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009). Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet manpages-fr. Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».21 juillet 2012 | Linux |