mq_receive(3) Library Functions Manual mq_receive(3) NOM mq_receive, mq_timedreceive - Recevoir un message d'une file de mes- sages BIBLIOTHÈQUE Bibliothèque de temps réel (librt, -lrt) SYNOPSIS #include <mqueue.h> ssize_t mq_receive(mqd_t mqdes, char msg_ptr[.msg_len], size_t msg_len, unsigned int *msg_prio); #include <time.h> #include <mqueue.h> ssize_t mq_timedreceive(mqd_t mqdes, char *restrict msg_ptr[.msg_len], size_t msg_len, unsigned int *restrict msg_prio, const struct timespec *restrict abs_timeout); Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) : mq_timedreceive() : _POSIX_C_SOURCE >= 200112L DESCRIPTION mq_receive() supprime le plus vieux message avec la plus haute priorité de la file de messages référencée par le descripteur de file de mes- sages mqdes, et le place dans un tampon pointé par msg_ptr. L'argument msg_len indique la taille du tampon pointé par msg_ptr ; celui-ci doit être plus large ou aussi grand que l'attribut mq_msgsize de la file (consulter mq_getattr(3)). Si msg_prio est non NULL, alors le tampon vers lequel il pointe est utilisé pour renvoyer la priorité associée au message reçu. Si la file est vide, alors par défaut, mq_receive() bloque tant qu'au- cun message n'est disponible, ou que l'appel n'est pas interrompu par un gestionnaire de signaux. Si le drapeau O_NONBLOCK est activé dans la description de file de messages, alors l'appel échouera immédiatement avec l'erreur EAGAIN. mq_timedreceive() behaves just like mq_receive(), except that if the queue is empty and the O_NONBLOCK flag is not enabled for the message queue description, then abs_timeout points to a structure which speci- fies how long the call will block. This value is an absolute timeout in seconds and nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC), specified in a timespec(3) structure. Si aucun message n'est disponible et si le délai d'attente a déjà ex- piré pendant la durée de l'appel, mq_timedreceive() s'achève immédiate- ment. VALEUR RENVOYÉE En cas de succès, mq_receive() et mq_timedreceive() renvoient le nombre d'octets du message reçu. En cas d'erreur, -1 est renvoyé et errno in- dique l'erreur. ERREURS EAGAIN La file est vide et le drapeau O_NONBLOCK était défini pour la file de messages référencée par le descripteur mqdes. EBADF Le descripteur spécifié dans mqdes n'est pas valable ou n'est pas ouvert en lecture. EINTR L'appel a été interrompu par un gestionnaire de signal ; consul- tez signal(7). EINVAL L'appel devrait être bloqué et abs_timeout n'est pas valable, soit car tv_sec est inférieur à zéro, ou soit car tv_nsec est inférieur à zéro ou plus grand que 1000 millions. EMSGSIZE msg_len était plus petit que l'attribut mq_msgsize de la file de messages. ETIMEDOUT Le délai d'attente de l'appel a expiré avant que le message ait été transféré. ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter attributes(7). ┌─────────────────────────────────────┬──────────────────────┬─────────┐ │Interface │ Attribut │ Valeur │ ├─────────────────────────────────────┼──────────────────────┼─────────┤ │mq_receive(), mq_timedreceive() │ Sécurité des threads │ MT-Safe │ └─────────────────────────────────────┴──────────────────────┴─────────┘ STANDARDS POSIX.1-2001, POSIX.1-2008. NOTES Sous Linux, mq_timedreceive() est un appel système et mq_receive() est une fonction de bibliothèque au dessus de la couche des appels sys- tèmes. VOIR AUSSI mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_send(3), mq_unlink(3), timespec(3), mq_overview(7), time(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> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr> 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 15 décembre 2022 mq_receive(3)
Generated by dwww version 1.15 on Sat Jun 29 01:50:56 CEST 2024.