sigsuspend(2) System Calls Manual sigsuspend(2) 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 ap- pelant 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'ap- pelant. 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 si- gnaux 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-2001, POSIX.1-2008. 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 sig- procmask(2). Après la fin de la section critique, l'appelant attend les signaux avec sigsuspend() utilisé avec le masque renvoyé par sigproc- mask(2) (dans l'argument oldset). Consultez sigsetops(3) pour les détails concernant les ensembles de si- gnaux. 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 posi- tionné 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. VOIR AUSSI kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwai- tinfo(2), sigsetops(3), sigwait(3), signal(7) TRADUCTION La traduction française de cette page de manuel a été créée par Chris- tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste- phan.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.cou- lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centra- liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <si- mon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@de- bian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <ce- dric.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⟩. Pages du manuel de Linux 6.03 30 octobre 2022 sigsuspend(2)
Generated by dwww version 1.15 on Sat Jun 29 00:52:47 CEST 2024.