dwww Home | Manual pages | Find package

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).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │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.