Man page - mq_timedreceive(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

mq_receive

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

NOM

mq_receive, mq_timedreceive - Recevoir un message d’une file de messages

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 messages 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’aucun 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 () se comporte comme mq_receive (), exceptĂ© que si la file est vide et si le drapeau O_NONBLOCK n’est pas activĂ© dans la description de la file de messages, alors abs_timeout pointe vers une structure qui spĂ©cifie un temps pendant lequel l’appel sera bloquĂ©. Cette limite est un dĂ©lai absolu en secondes et nanosecondes depuis l’époque, 1er janvier 1970 Ă  00:00:00 +0000 (UTC), spĂ©cifiĂ© dans une structure timespec (3).

Si aucun message n’est disponible et si le dĂ©lai d’attente a dĂ©jĂ  expirĂ© pendant la durĂ©e de l’appel, mq_timedreceive () s’achĂšve immĂ©diatement.

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 indique 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 ; consultez 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).

Image grohtml-3880298-1.png

VERSIONS

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 systĂšmes.

STANDARDS

POSIX.1-2008.

HISTORIQUE

POSIX.1-2001.

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