Man page - sigqueue(3)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

sigqueue

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

NOM

sigqueue - Enregistrer un signal et des données pour un processus

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <signal.h>

int sigqueue(pid_t pid , int sig , const union sigval valeur );

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

sigqueue () :
_POSIX_C_SOURCE >= 199309L

DESCRIPTION

sigqueue () envoie le signal sig au processus indiquĂ© par pid . Les permissions requises pour l’émission du signal sont les mĂȘmes que pour kill (2). Comme avec kill (2), le signal nul (0) peut servir Ă  vĂ©rifier si un processus existe avec un PID donnĂ©.

L’argument valeur sert Ă  indiquer une donnĂ©e (soit un entier, soit un pointeur) qui accompagnera le signal et se prĂ©sente avec le type suivant :

union sigval {
int sival_int;
void *sival_ptr;
};

Si le processus rĂ©cepteur a installĂ© un gestionnaire pour le signal avec l’option SA_SIGINFO lors du sigaction (2), il pourra obtenir la donnĂ©e dans le champ si_value de la structure siginfo_t passĂ©e en second argument au gestionnaire. De plus, le champ si_code de la structure contiendra SI_QUEUE .

VALEUR RENVOYÉE

L’appel sigqueue () renvoie 0 s’il rĂ©ussit, indiquant que le signal a bien Ă©tĂ© mis dans la file du processus rĂ©cepteur. Sinon, il renvoie -1 et errno est dĂ©fini pour indiquer l’erreur.

ERREURS

EAGAIN

La limite du nombre de signaux en file a Ă©tĂ© atteinte (consultez signal (7) pour plus d’informations).

EINVAL

sig est non valable.

EPERM

Le processus n’a pas la permission d’envoyer un signal au processus visĂ©. Pour les permissions nĂ©cessaires, consultez kill (2).

ESRCH

Il n’y a pas de processus correspondant au pid .

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3873839-1.png

VERSIONS

Différences entre bibliothÚque C et noyau

Sous Linux, l’implĂ©mentation de sigqueue () utilise l’appel systĂšme rt_sigqueueinfo (2). Le troisiĂšme paramĂštre de l’appel systĂšme diffĂšre, puisqu’il correspond Ă  la structure siginfo_t qui sera fournie au gestionnaire de signal du processus recevant le signal ou qui sera renvoyĂ©e par l’appel sigtimedwait (2) du processus recevant le signal. Dans la fonction d’enveloppe sigqueue () de la glibc, ce paramĂštre uinfo est initialisĂ© de cette façon :

uinfo.si_signo = sig; /* ParamĂštre fourni Ă  sigqueue() */
uinfo.si_code = SI_QUEUE;
uinfo.si_pid = getpid(); /* Identifiant du processus émetteur */
uinfo.si_uid = getuid(); /* UID rĂ©el de l’émetteur */
uinfo.si_value = val; /* ParamĂštre fourni Ă  sigqueue() */

STANDARDS

POSIX.1-2008.

HISTORIQUE

Linux 2.1. POSIX.1-2001.

NOTES

Si l’appel consiste Ă  envoyer un signal au processus qui l’a invoquĂ©, et si le signal n’est pas bloquĂ© par le thread appelant, et si aucun autre thread ne peut traiter le signal (soit en l’ayant dĂ©bloquĂ©, ou en faisant une attente avec sigwait (3)), alors au moins quelques signaux seront dĂ©livrĂ©s au thread appelant avant que la fonction ne revienne.

VOIR AUSSI

kill (2), rt_sigqueueinfo (2), sigaction (2), signal (2), pthread_sigqueue (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-Pierre Giraud <jean-pierregiraud@neuf.fr>

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 .