SYNOPSIS
#include <signal.h>
int sigpause(int sigmask); /* BSD (mais consultez les NOTES) */
int sigpause(int sig); /* System V / UNIX 95 */
DESCRIPTION
N'utilisez pas cette fonction. Utilisez plutôt sigsuspend(2).La fonction sigpause() est conçue pour attendre un signal. Elle modifie le masque signal d'un processus (ensemble de signaux bloqués) et attend qu'un signal arrive. À l'arrivée d'un signal, le masque signal original est rétabli.
VALEUR RENVOYÉE
Si sigpause() se termine, c'est qu'elle a été interrompue par un signal et la valeur de retour est -1 avec errno positionnée à EINTR.ATTRIBUTS
Multithreading (voir pthreads(7))
La fonction sigpause() est sûre dans un contexte multithread.CONFORMITÉ
La version System V de sigpause() est standardisée dans POSIX.1-2001.NOTES
Historique
La version BSD classique de cette fonction est apparue dans BSD 4.2. Elle positionne le masque signal de processus à sigmask. UNIX 95 a standardisé les versions incompatibles System V de cette fonction, qui supprime seulement le signal sig spécifié du masque signal de processus La situation malheureuse de deux fonctions incompatibles possédant le même nom a été résolue avec la fonction sigsuspend(2), qui prend un paramètre de type sigset_t * (au lieu d'un entier de type int).Notes sur Linux
Sous Linux, cette routine n'est un appel système que pour l'architecture Sparc (sparc64).Les bibliothèques libc4 et libc5 ne connaissent que la version BSD.
La glibc utilise la version BSD si la macro de test de fonctionnalités _BSD_SOURCE est définie et qu'aucune des macros _POSIX_SOURCE, _POSIX_C_SOURCE, _XOPEN_SOURCE, _GNU_SOURCE ou _SVID_SOURCE n'est définie. Sinon, la version System V est utilisée (et _XOPEN_SOURCE doit être définie pour obtenir la déclaration). A partir de glibc 2.19, seule la version System V est présente dans <signal.h> ; les applications qui utilisaient précédemment l'appel BSD sigpause() doivent être mises à jour afin d'appeler sigsuspend(2) à la place.
COLOPHON
Cette page fait partie de la publication 3.65 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). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <[email protected]> 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> ».