table of contents
other sections
MQ_SEND(3) | Manuel du programmeur Linux | MQ_SEND(3) |
NOM¶
mq_send, mq_timedsend - Envoyer un message à une file de messagesSYNOPSIS¶
#include <mqueue.h>int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio);#include <time.h> #include <mqueue.h>int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout);
Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :
_XOPEN_SOURCE >= 600 ||
_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 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.struct timespec { time_t tv_sec; /* secondes */ long tv_nsec; /* nanosecondes */ };
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 en conséquence.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.
- 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é.
CONFORMITɶ
POSIX.1-2001.NOTES¶
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.VOIR AUSSI¶
mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_unlink(3), mq_overview(7), time(7)COLOPHON¶
Cette page fait partie de la publication 3.44 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <http://www.kernel.org/doc/man-pages/>.TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>. Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009). Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet manpages-fr. Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».20 septembre 2010 | Linux |