Man page - mq_send(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

mq_send

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

NOM

mq_send, mq_timedsend - Envoyer un message Ă  une file de messages

BIBLIOTHÈQUE

BibliothÚque de temps réel ( librt , -lrt )

SYNOPSIS

#include <mqueue.h>

int mq_send(mqd_t mqdes , const char msg_ptr [. msg_len ],
size_t
msg_len , unsigned int msg_prio );

#include <time.h>
#include <mqueue.h>

int mq_timedsend(mqd_t mqdes , const char msg_ptr [. msg_len ],
size_t
msg_len , unsigned int msg_prio ,
const struct timespec *
abs_timeout );

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

mq_timedsend () :
_POSIX_C_SOURCE >= 200112L

DESCRIPTION

mq_send () ajoute le message pointĂ© par msg_ptr Ă  la file de messages rĂ©fĂ©rencĂ©e par le descripteur de file de messages mqdes . L’argument msg_len spĂ©cifie la longueur du message pointĂ© par msg_ptr . Cette longueur doit ĂȘtre infĂ©rieure ou Ă©gale Ă  l’attribut mq_msgsize de la file. Les messages de longueur nulle sont permis.

L’argument msg_prio est un entier non nĂ©gatif qui spĂ©cifie la prioritĂ© de ce message. Les messages sont placĂ©s dans la file en ordre de prioritĂ© dĂ©croissante. Les nouveaux messages avec la mĂȘme prioritĂ© seront placĂ©s aprĂšs les anciens messages de mĂȘme prioritĂ©. Consulter mq_overview (7) pour plus de dĂ©tails sur la plage de prioritĂ© des messages.

Si la file de messages est dĂ©jĂ  pleine (c’est-Ă -dire que le nombre de messages de la file est Ă©gal Ă  l’attribut mq_maxmsg de la file), alors par dĂ©faut, mq_send () bloque tant qu’il n’y a pas d’espace suffisant pour placer un message dans la file ou jusqu’à ce que l’appel soit interrompu par un gestionnaire de signaux. Si le drapeau O_NONBLOCK est activĂ© pour la description de la file de messages, alors l’appel Ă©choue immĂ©diatement avec l’erreur EAGAIN .

mq_timedsend () se comporte comme mq_send (), exceptĂ© que si la file est pleine 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 la file de messages est pleine et si le dĂ©lai d’attente a dĂ©jĂ  expirĂ© pendant la durĂ©e de l’appel, mq_timedsend () s’achĂšve immĂ©diatement.

VALEUR RENVOYÉE

En cas de succĂšs, mq_send () et mq_timedsend () renvoient 0 . En cas d’erreur, elle renvoient -1 et dĂ©finissent errno pour indiquer l’erreur.

ERREURS

EAGAIN

La file est pleine 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 Ă©criture.

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 grand 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-3897811-1.png

VERSIONS

Sous Linux, mq_timedsend () est un appel systĂšme et mq_send () 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_receive (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 .