int sigsuspend(const sigset_t *mask);
Si le signal termine le processus, sigsuspend() ne revient pas. Si le signal est intercepté, sigsuspend() revient après le retour du gestionnaire de signaux, et le masque de signal est restauré dans l'état où il était avant l'appel à sigsuspend().
Il n'est pas possible de bloquer SIGKILL ou SIGSTOP ; spécifier ces signaux dans mask n'a aucun effet sur le masque de signaux du processus.
Normalement, sigsuspend() est utilisé avec sigprocmask(2) afin de s'affranchir de la livraison d'un signal pendant l'exécution d'un morceau de code critique. L'appelant commence par bloquer les signaux avec sigprocmask(2). Lorsque le code critique est passé, l'appelant attend les signaux par un appel à sigsuspend() avec le masque de signaux renvoyé par sigprocmask(2) (dans l'argument oldset).
Voir sigsetops(3) pour les détails sur la manipulation des ensembles de signaux.
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 14 octobre 1996 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 sigaction ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008