Man page - sigsuspend(2)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

sigsuspend

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
STANDARDS
HISTORIQUE
Différences entre bibliothÚque C et noyau
NOTES
VOIR AUSSI
TRADUCTION

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