plucky (2) sigsuspend.2.gz

Provided by: manpages-fr-dev_4.25.1-1_all bug

NOM

       sigsuspend, rt_sigsuspend - Attendre un signal

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <signal.h>

       int sigsuspend(const sigset_t *mask);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

       sigsuspend() :
           _POSIX_C_SOURCE

DESCRIPTION

       sigsuspend()  remplace temporairement le masque de signal du thread appelant par le msque donné par mask,
       puis il suspend le thread jusqu'à ce qu'arrive un signal dont l'action consiste à appeler un gestionnaire
       de signal ou à terminer un processus.

       Si  le  signal  termine  le  processus,  sigsuspend()  ne  retourne  pas  à  l'appelant. Si le signal est
       intercepté, sigsuspend() retourne après l'exécution du gestionnaire, et le masque de signaux bloqués  est
       restauré à sa valeur précédant 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 thread.

VALEUR RENVOYÉE

       sigsuspend() renvoie toujours -1, et errno est normalement positionné à EINTR.

ERREURS

       EFAULT mask pointe en-dehors de l'espace d'adressage accessible.

       EINTR  L'appel a été interrompu par des signaux signal(7).

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001.

   Différences entre bibliothèque C et noyau
       L'appel système Linux d'origine s'appelait sigsuspend(). Toutefois, avec l'arrivée des signaux  en  temps
       réel  dans Linux 2.2 et de la taille figée, le type sigset_t 32 bits pris en charge par cet appel système
       ne convenait plus à cet objectif. Par conséquent, un nouvel appel système rt_sigsuspend()  a  été  ajouté
       pour  prendre  en  charge  le  type sigset_t élargi. Le nouvel appel système prend un deuxième paramètre,
       size_t sigsetsize, qui indique la taille en octets des jeux de signal positionné dans mask. Ce  paramètre
       est  actuellement nécessaire pour obtenir la valeur sizeof(sigset_t) (ou le résultat de l'erreur EINVAL).
       La fonction enveloppe sigsuspend() de la glibc nous cache ces détails en appelant de manière transparente
       rt_sigsuspend() quand le noyau le fournit.

NOTES

       En  général,  sigsuspend()  est  utilisé  conjointement  avec sigprocmask(2) pour empêcher l'arrivée d'un
       signal pendant l'exécution d'une section de code critique. L'appelant commence par  bloquer  les  signaux
       avec sigprocmask(2). Après la fin de la section critique, l'appelant attend les signaux avec sigsuspend()
       utilisé avec le masque renvoyé par sigprocmask(2) (dans l'argument oldset).

       Consultez sigsetops(3) pour les détails concernant les ensembles de signaux.

VOIR AUSSI

       kill(2), pause(2), sigaction(2), signal(2),  sigprocmask(2),  sigwaitinfo(2),  sigsetops(3),  sigwait(3),
       signal(7)

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org>,    Cédric    Boutillier     <cedric.boutillier@gmail.com>,     Frédéric     Hantrais
       <fhantrais@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les  conditions  de   copie   et   de
       distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       ⟨debian-l10n-french@lists.debian.org⟩.