Man page - rt_tgsigqueueinfo(2)

Packages contains this manual

Available languages:

en fr ru ro

Manual

rt_sigqueueinfo

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
STANDARDS
HISTORIQUE
NOTES
VOIR AUSSI
TRADUCTION

NOM

rt_sigqueueinfo, rt_tgsigqueueinfo – Mettre un signal et des donnĂ©es dans la file d’attente d’un processus

BIBLIOTHÈQUE

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

SYNOPSIS

#include <linux/signal.h> /* Définition des constantes SI_* */
#include <sys/syscall.h>
/* Définition des constantes SYS_* */
#include <unistd.h>

int syscall(SYS_rt_sigqueueinfo, pid_t tgid ,
int
sig , siginfo_t * info );
int syscall(SYS_rt_tgsigqueueinfo, pid_t
tgid , pid_t tid ,
int
sig , siginfo_t * info );

Remarque : il n’existe pas de fonctions glibc autour de ces appels systùme ; consultez NOTES .

DESCRIPTION

Les appels systĂšme rt_sigqueueinfo () et rt_tgsigqueueinfo () sont les interfaces de bas niveau utilisĂ©es pour envoyer un signal accompagnĂ© de donnĂ©es Ă  un processus ou Ă  un thread. Le rĂ©cepteur du signal peut obtenir les donnĂ©es associĂ©es en Ă©tablissant un gestionnaire de signal Ă  l’aide de l’attribut SA_SIGINFO de sigaction (2).

Ces appels systĂšme ne sont pas destinĂ©s Ă  ĂȘtre utilisĂ©s directement par une application ; ils sont fournis pour permettre l’implĂ©mentation de sigqueue (3) et pthread_sigqueue (3).

L’appel systĂšme rt_sigqueueinfo () envoie le signal sig au groupe de threads dont l’identifiant est tgid . (Le terme « groupe de threads » est synonyme de « processus » et tid correspond Ă  l’identifiant de processus UNIX traditionnel.) Le signal sera dĂ©livrĂ© Ă  un membre arbitraire de ce groupe de threads (c’est-Ă -dire un des threads qui n’est pas en train de bloquer le signal).

Le paramĂštre info spĂ©cifie les donnĂ©es devant accompagner le signal. Ce paramĂštre est un pointeur vers une structure de type siginfo_t dĂ©crite dans sigaction (2) (et dĂ©finie en incluant <sigaction.h> ). L’appelant doit positionner les champs suivants dans cette structure :
si_code

Cela doit ĂȘtre un des codes SI_* du fichier source du noyau Linux include/asm-generic/siginfo.h . Si le signal doit ĂȘtre envoyĂ© Ă  un autre processus que l’appelant lui-mĂȘme, les restrictions suivantes s’appliquent :

-

Le code ne peut pas ĂȘtre une valeur supĂ©rieure ou Ă©gale Ă  zĂ©ro. En particulier, il ne peut s’agir de SI_USER qui est utilisĂ© par le noyau pour indiquer un signal envoyĂ© par kill (2), ni de SI_KERNEL qui est utilisĂ© pour indiquer un signal gĂ©nĂ©rĂ© par le noyau.

-

Le code ne peut pas (depuis Linux 2.6.39) ĂȘtre SI_TKILL qui est utilisĂ© par le noyau pour indiquer le signal envoyĂ© en utilisant tgkill (2).

si_pid

Cela doit ĂȘtre Ă©gal Ă  l’identifiant d’un processus, typiquement celui du processus Ă©metteur.

si_uid

Cela doit ĂȘtre Ă©gal Ă  l’identifiant d’un utilisateur, typiquement l’identifiant utilisateur rĂ©el de l’émetteur.

si_value

Ce champ contient les donnĂ©es utilisateur pour accompagner le signal. Pour plus d’informations, consultez la description du dernier argument ( union_sigval ) de sigqueue (3).

De maniĂšre interne, le noyau positionne le champ si_signo Ă  la valeur indiquĂ©e dans sig , de sorte que le rĂ©cepteur du signal puisse aussi obtenir le numĂ©ro du signal Ă  l’aide de ce champ.

L’appel systĂšme rt_tgsigqueueinfo () fonctionne comme rt_sigqueueinfo (), mais n’envoie le signal et les donnĂ©es qu’à l’unique thread indiquĂ© par la combinaison de tgid , un identifiant de groupe de threads, et de tid , un thread dans ce groupe.

VALEUR RENVOYÉE

En cas du succùs, ces appels systùme renvoient 0 . Dans le cas contraire, ils renvoient -1 et remplissent errno avec le code d’erreur.

ERREURS

EAGAIN

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

EINVAL

sig , tgid ou tid n’est pas valable.

EPERM

L’appelant n’a pas le droit d’envoyer un signal Ă  la cible. Pour les droits nĂ©cessaires, consultez kill (2).

EPERM

tgid indique un autre processus que l’appelant et info->si_code n’est pas valable.

ESRCH

rt_sigqueueinfo () : aucun groupe de threads correspondant Ă  tgid n’a Ă©tĂ© trouvĂ©.

rt_tgsigqueinfo () : aucun thread correspondant Ă  tgid et tid n’a Ă©tĂ© trouvĂ©.

STANDARDS

Linux.

HISTORIQUE

rt_sigqueueinfo ()

Linux 2.2.

rt_tgsigqueueinfo ()

Linux 2.6.31

NOTES

Comme ces appels systĂšme ne sont pas destinĂ©s Ă  ĂȘtre utilisĂ©s par une application, il n’existe aucune fonction d’encapsulation glibc ; utilisez syscall (2) dans le cas peu probable oĂč vous voudriez les appeler directement.

Comme pour kill (2), le signal nul ( 0 ) peut ĂȘtre utilisĂ© pour vĂ©rifier si le processus ou le thread indiquĂ© existe.

VOIR AUSSI

kill (2), pidfd_send_signal (2), sigaction (2), sigprocmask (2), tgkill (2), pthread_sigqueue (3), sigqueue (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 .