sigpause(3) Débloquer individuellement des signaux et les attendre

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> ».