pthread_sigqueue - Enregistrer un signal et des données pour un thread
Bibliothèque de threads POSIX (
libpthread,
-lpthread)
#include <signal.h>
#include <pthread.h>
int pthread_sigqueue(pthread_t thread, int sig,
const union sigval value);
pthread_sigqueue() :
_GNU_SOURCE
La fonction
pthread_exit() effectue une tâche semblable à
sigqueue(3), mais, au lieu d'envoyer un signal à un processus,
elle envoie le signal à un thread du même processus que le
thread appelant.
Le paramètre
thread est l'identifiant d'un thread du même
processus que l'appelant. Le paramètre
sig indique le signal
à envoyer. Le paramètre
value indique les données
à envoyer avec le signal ; consultez
sigqueue(3) pour
plus de détails.
En cas de réussite,
pthread_sigqueue() renvoie
0 ;
en cas d'erreur, elle renvoie un numéro d'erreur.
- EAGAIN
- La limite du nombre de signaux en file a été
atteinte (consultez signal(7) pour plus d'informations).
- EINVAL
-
sig est invalide.
- ENOSYS
-
pthread_sigqueue() n'est pas pris en charge par ce
système.
- ESRCH
-
thread n'est pas valide.
La fonction
pthread_sigqueue() a été introduite dans la
glibc dans sa version 2.11.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
pthread_sigqueue() |
Sécurité des threads |
MT-Safe |
Cette fonction est une extension GNU.
L'implémentation par la glibc de
pthread_sigqueue() donne une
erreur (
EINVAL) lors de tentatives d'envoyer un des signaux en temps
réel utilisés en interne par l'implémentation du
threading NPTL. Conulstez
nptl(7) pour des détails.
rt_tgsigqueueinfo(2),
sigaction(2),
pthread_sigmask(3),
sigqueue(3),
sigwait(3),
pthreads(7),
signal(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Frédéric Hantrais <
[email protected]>
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 à
[email protected]