# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999, 2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006, 2014. # Denis Barbier , 2006, 2010. # David Prévot , 2010, 2012-2014. # Jean-Pierre Giraud , 2021, 2024. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.22.0\n" "POT-Creation-Date: 2024-06-01 06:04+0200\n" "PO-Revision-Date: 2024-04-22 16:59+0200\n" "Last-Translator: Jean-Pierre Giraud \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Lokalize 20.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "mq_notify" msgstr "mq_notify" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Pages du manuel de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "mq_notify - register for notification when a message is available" msgstr "" "mq_notify - S'enregistrer pour la réception d'une notification de l'arrivée " "d'un nouveau message" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHÈQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Real-time library (I, I<-lrt>)" msgstr "Bibliothèque de temps réel (I, I<-lrt>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#include Emqueue.hE>\n" "B<#include Esignal.hE >/* Definition of SIGEV_* constants */\n" msgstr "" "B<#include Emqueue.hE>\n" "B<#include Esignal.hE >/* Définition des constantes SIGEV_* */\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, const struct sigevent *>IB<);>\n" msgstr "BIB<, const struct sigevent *>IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() allows the calling process to register or unregister for " "delivery of an asynchronous notification when a new message arrives on the " "empty message queue referred to by the message queue descriptor I." msgstr "" "B() permet à un processus appelant de s'enregistrer ou de ne plus " "s'enregistrer pour délivrer une notification asynchrone lorsqu'un message " "entre dans une file de messages vide référencée par le descripteur de file " "de messages I." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The I argument is a pointer to a I structure. For the " "definition and general details of this structure, see B(3type)." msgstr "" "L'argument I est un pointeur vers une structure I. Pour plus " "d'informations sur cette structure, consultez B(3type)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is a non-null pointer, then B() registers the calling " "process to receive message notification. The I field of the " "I structure to which I points specifies how notification is " "to be performed. This field has one of the following values:" msgstr "" "Si I est un pointeur non NULL, alors B() enregistre le " "processus appelant afin de recevoir les notifications. Le champ " "I de I qui pointe vers I spécifie comment la " "notification est réalisée. Ce champ possède l'une des valeurs suivantes\\ :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. When is SIGEV_NONE useful? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A \"null\" notification: the calling process is registered as the target for " "notification, but when a message arrives, no notification is sent." msgstr "" "Une notification «\\ null\\ »\\ : le processus appelant est enregistré comme " "destinataire des notifications, mais aucune notification n'est envoyée " "lorsqu'un message arrive." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. I don't know of other implementations that set #. si_pid and si_uid -- MTK #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Notify the process by sending the signal specified in I. See " "B(3type) for general details. The I field of the " "I structure will be set to B. In addition, I " "will be set to the PID of the process that sent the message, and I " "will be set to the real user ID of the sending process." msgstr "" "Notifier le processus en envoyant le signal spécifié dans I. " "Consultez B(3type) pour plus de détails. Le champ I de la " "structure I sera défini à B. De plus, I sera " "défini au PID du processus qui envoie le message, et I sera défini à " "l'ID utilisateur du processus émetteur." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Upon message delivery, invoke I as if it were the " "start function of a new thread. See B(3type) for details." msgstr "" "Jusqu'à la livraison du message, invoquer I comme si " "c'était la fonction de création d'un nouveau processus léger. Consultez " "B(3type) pour plus détails." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only one process can be registered to receive notification from a message " "queue." msgstr "" "Seul un processus peut être enregistré pour recevoir les notifications d'une " "file de messages." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is NULL, and the calling process is currently registered to " "receive notifications for this message queue, then the registration is " "removed; another process can then register to receive a message notification " "for this queue." msgstr "" "Si I est NULL, et si le processus appelant est actuellement enregistré " "pour recevoir des notifications de cette file de messages, alors " "l'enregistrement est supprimé\\ ; un autre processus peut s'enregistrer pour " "recevoir les notifications de cette file." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Message notification occurs only when a new message arrives and the queue " "was previously empty. If the queue was not empty at the time " "B() was called, then a notification will occur only after the " "queue is emptied and a new message arrives." msgstr "" "Une notification de message n'est créée que lorsqu'un nouveau message arrive " "et que la file est vide. Si la file n'est pas vide à ce moment, " "B() est appelée, alors une notification sera créée après que la " "file est vidée et qu'un nouveau message arrive." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If another process or thread is waiting to read a message from an empty " "queue using B(3), then any message notification registration is " "ignored: the message is delivered to the process or thread calling " "B(3), and the message notification registration remains in " "effect." msgstr "" "Si un autre processus ou thread attend pour lire un message d'une file vide " "avec B(3), alors tout enregistrement de notification de message " "est ignoré\\ : le message est délivré au processus ou au thread appelant " "avec B(3) et l'enregistrement de notification de message garde " "son effet." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Notification occurs once: after a notification is delivered, the " "notification registration is removed, and another process can register for " "message notification. If the notified process wishes to receive the next " "notification, it can use B() to request a further notification. " "This should be done before emptying all unread messages from the queue. " "(Placing the queue in nonblocking mode is useful for emptying the queue of " "messages without blocking once it is empty.)" msgstr "" "Une notification apparaît une seule fois\\ : après qu'une notification est " "délivrée, l'enregistrement de notification est supprimé et d'autre processus " "peuvent s'enregistrer. Si le processus notifié souhaite recevoir la " "prochaine notification, il peut utiliser B() pour demander une " "autre notification. Cela doit être fait avant de vider tous les messages non " "lus de la file (Placer la file en mode non bloquant est utile pour la vider " "sans la bloquer une seule fois si elle est vide)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "VALEUR RENVOYÉE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success B() returns 0; on error, -1 is returned, with " "I set to indicate the error." msgstr "" "Si elle réussit, la fonction B() renvoie B<0>. En cas d'erreur, " "elle renvoie B<-1> et définit I en conséquence." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERREURS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The message queue descriptor specified in I is invalid." msgstr "" "Le descripteur de file de messages spécifié dans I n'est pas valable." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Another process has already registered to receive notification for this " "message queue." msgstr "" "Un autre processus est déjà enregistré pour recevoir les notifications de " "cette file de messages." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Isigev_notify> is not one of the permitted values; or Isigev_notify> is B and Isigev_signo> is not a " "valid signal number." msgstr "" "Isigev_notify> n'est pas l'une des valeurs permises\\ ; ou Isigev_notify> vaut B et Isigev_signo> n'est " "pas un numéro de signal valable." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Insufficient memory." msgstr "Mémoire insuffisante." #. Linux does not do this #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX.1-2008 says that an implementation I generate an B error " "if I is NULL, and the caller is not currently registered to receive " "notifications for the queue I." msgstr "" "POSIX.1-2008 dit qu'une implémentation I générer une erreur " "B si I est NULL et si l'appelant n'a pas souscrit aux " "notifications de la file I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" "Pour une explication des termes utilisés dans cette section, consulter " "B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Interface" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Valeur" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Sécurité des threads" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Différences entre bibliothèque C et noyau" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the glibc implementation, the B() library function is " "implemented on top of the system call of the same name. When I is " "NULL, or specifies a notification mechanism other than B, the " "library function directly invokes the system call. For B, " "much of the implementation resides within the library, rather than the " "kernel. (This is necessarily so, since the thread involved in handling the " "notification is one that must be managed by the C library POSIX threads " "implementation.) The implementation involves the use of a raw " "B(7) socket and creates a new thread for each notification that is " "delivered to the process." msgstr "" "Dans l'implémentation de la glibc, la fonction de bibliothèque " "B() est implémentée au-dessus de l'appel système du même nom. " "Quand I est NULL, ou spécifie un mécanisme de notification autre que " "B, la fonction de la bibliothèque invoque directement l'appel " "système. Pour B, l'essentiel de l'implémentation réside à " "l'intérieur de la bibliothèque plutôt que dans le noyau. (Il en est " "nécessairement ainsi, dans la mesure où le thread impliqué dans la gestion " "de la notification fait partie de ceux qui doivent être géré par " "l'implémentation de la bibliothèque des threads POSIX de C.) La mise en " "œuvre implique l'utilisation d'un socket B(7) brut et crée un " "nouveau thread pour chaque notification délivrée au processus." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001." msgstr "POSIX.1-2001." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following program registers a notification request for the message queue " "named in its command-line argument. Notification is performed by creating a " "thread. The thread executes a function which reads one message from the " "queue and then terminates the process." msgstr "" "Le programme suivant enregistre une requête de notification pour une file de " "messages nommée avec l'un des arguments de la ligne de commande. La " "notification est réalisée en créant un thread. Le thread exécute une " "fonction qui lit un message provenant de la file puis le processus se " "termine." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Source du programme" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Emqueue.hE\n" "#include Epthread.hE\n" "#include Esignal.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "static void /* Thread start function */\n" "tfunc(union sigval sv)\n" "{\n" " struct mq_attr attr;\n" " ssize_t nr;\n" " void *buf;\n" " mqd_t mqdes = *((mqd_t *) sv.sival_ptr);\n" "\\&\n" " /* Determine max. msg size; allocate buffer to receive msg */\n" "\\&\n" " if (mq_getattr(mqdes, &attr) == -1)\n" " handle_error(\"mq_getattr\");\n" " buf = malloc(attr.mq_msgsize);\n" " if (buf == NULL)\n" " handle_error(\"malloc\");\n" "\\&\n" " nr = mq_receive(mqdes, buf, attr.mq_msgsize, NULL);\n" " if (nr == -1)\n" " handle_error(\"mq_receive\");\n" "\\&\n" " printf(\"Read %zd bytes from MQ\\en\", nr);\n" " free(buf);\n" " exit(EXIT_SUCCESS); /* Terminate the process */\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " mqd_t mqdes;\n" " struct sigevent sev;\n" "\\&\n" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s Emq-nameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " mqdes = mq_open(argv[1], O_RDONLY);\n" " if (mqdes == (mqd_t) -1)\n" " handle_error(\"mq_open\");\n" "\\&\n" " sev.sigev_notify = SIGEV_THREAD;\n" " sev.sigev_notify_function = tfunc;\n" " sev.sigev_notify_attributes = NULL;\n" " sev.sigev_value.sival_ptr = &mqdes; /* Arg. to thread func. */\n" " if (mq_notify(mqdes, &sev) == -1)\n" " handle_error(\"mq_notify\");\n" "\\&\n" " pause(); /* Process will be terminated by thread function */\n" "}\n" msgstr "" "#include Emqueue.hE\n" "#include Epthread.hE\n" "#include Esignal.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "static void /* Thread start function */\n" "tfunc(union sigval sv)\n" "{\n" " struct mq_attr attr;\n" " ssize_t nr;\n" " void *buf;\n" " mqd_t mqdes = *((mqd_t *) sv.sival_ptr);\n" "\\&\n" " /* Déterminer la taille max. du msg ; allouer un tampon\n" " pour recevoir le msg */\n" "\\&\n" " if (mq_getattr(mqdes, &attr) == -1)\n" " handle_error(\"mq_getattr\");\n" " buf = malloc(attr.mq_msgsize);\n" " if (buf == NULL)\n" " handle_error(\"malloc\");\n" "\\&\n" " nr = mq_receive(mqdes, buf, attr.mq_msgsize, NULL);\n" " if (nr == -1)\n" " handle_error(\"mq_receive\");\n" "\\&\n" " printf(\"Read %zd bytes from MQ\\en\", nr);\n" " free(buf);\n" " exit(EXIT_SUCCESS); /* Terminer le processus */\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " mqd_t mqdes;\n" " struct sigevent sev;\n" "\\&\n" " if (argc != 2) {\n" " fprintf(stderr, \"Utilisation : %s Emq-nameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " mqdes = mq_open(argv[1], O_RDONLY);\n" " if (mqdes == (mqd_t) -1)\n" " handle_error(\"mq_open\");\n" "\\&\n" " sev.sigev_notify = SIGEV_THREAD;\n" " sev.sigev_notify_function = tfunc;\n" " sev.sigev_notify_attributes = NULL;\n" " sev.sigev_value.sival_ptr = &mqdes; /* Arg. to thread func. */\n" " if (mq_notify(mqdes, &sev) == -1)\n" " handle_error(\"mq_notify\");\n" "\\&\n" " pause(); /* Le processus sera terminé par la fonction du proc. */\n" "}\n" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(7), B(3type)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(7), B(3type)" #. type: TH #: debian-bookworm #, no-wrap msgid "2022-12-15" msgstr "15 décembre 2022" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "The I argument is a pointer to a I structure. For the " "definition and general details of this structure, see B(7)." msgstr "" "L'argument I est un pointeur vers une structure I. Pour plus " "d'informations sur cette structure, consultez B(7)." #. I don't know of other implementations that set #. si_pid and si_uid -- MTK #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Notify the process by sending the signal specified in I. See " "B(7) for general details. The I field of the " "I structure will be set to B. In addition, I " "will be set to the PID of the process that sent the message, and I " "will be set to the real user ID of the sending process." msgstr "" "Notifier le processus en envoyant le signal spécifié dans I. " "Consultez B(7) pour plus de détails. Le champ I de la " "structure I sera défini à B. De plus, I sera " "défini au PID du processus qui envoie le message, et I sera défini à " "l'ID utilisateur du processus émetteur." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Upon message delivery, invoke I as if it were the " "start function of a new thread. See B(7) for details." msgstr "" "Jusqu'à la livraison du message, invoquer I comme si " "c'était la fonction de création d'un nouveau processus léger. Consultez " "B(7) pour plus détails." #. type: SH #: debian-bookworm #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Emqueue.hE\n" "#include Epthread.hE\n" "#include Esignal.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" msgstr "" "#include Emqueue.hE\n" "#include Epthread.hE\n" "#include Esignal.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void /* Thread start function */\n" "tfunc(union sigval sv)\n" "{\n" " struct mq_attr attr;\n" " ssize_t nr;\n" " void *buf;\n" " mqd_t mqdes = *((mqd_t *) sv.sival_ptr);\n" msgstr "" "static void /* Thread start function */\n" "tfunc(union sigval sv)\n" "{\n" " struct mq_attr attr;\n" " ssize_t nr;\n" " void *buf;\n" " mqd_t mqdes = *((mqd_t *) sv.sival_ptr);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Determine max. msg size; allocate buffer to receive msg */\n" msgstr "" " /* Déterminer la taille max. du msg ; allouer un tampon\n" " pour recevoir le msg */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (mq_getattr(mqdes, &attr) == -1)\n" " handle_error(\"mq_getattr\");\n" " buf = malloc(attr.mq_msgsize);\n" " if (buf == NULL)\n" " handle_error(\"malloc\");\n" msgstr "" " if (mq_getattr(mqdes, &attr) == -1)\n" " handle_error(\"mq_getattr\");\n" " buf = malloc(attr.mq_msgsize);\n" " if (buf == NULL)\n" " handle_error(\"malloc\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " nr = mq_receive(mqdes, buf, attr.mq_msgsize, NULL);\n" " if (nr == -1)\n" " handle_error(\"mq_receive\");\n" msgstr "" " nr = mq_receive(mqdes, buf, attr.mq_msgsize, NULL);\n" " if (nr == -1)\n" " handle_error(\"mq_receive\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"Read %zd bytes from MQ\\en\", nr);\n" " free(buf);\n" " exit(EXIT_SUCCESS); /* Terminate the process */\n" "}\n" msgstr "" " printf(\"Lire %zd octets depuis MQ\\en\", nr);\n" " free(buf);\n" " exit(EXIT_SUCCESS); /* Terminer le processus */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " mqd_t mqdes;\n" " struct sigevent sev;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " mqd_t mqdes;\n" " struct sigevent sev;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s Emq-nameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s Emq-nameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " mqdes = mq_open(argv[1], O_RDONLY);\n" " if (mqdes == (mqd_t) -1)\n" " handle_error(\"mq_open\");\n" msgstr "" " mqdes = mq_open(argv[1], O_RDONLY);\n" " if (mqdes == (mqd_t) -1)\n" " handle_error(\"mq_open\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " sev.sigev_notify = SIGEV_THREAD;\n" " sev.sigev_notify_function = tfunc;\n" " sev.sigev_notify_attributes = NULL;\n" " sev.sigev_value.sival_ptr = &mqdes; /* Arg. to thread func. */\n" " if (mq_notify(mqdes, &sev) == -1)\n" " handle_error(\"mq_notify\");\n" msgstr "" " sev.sigev_notify = SIGEV_THREAD;\n" " sev.sigev_notify_function = tfunc;\n" " sev.sigev_notify_attributes = NULL;\n" " sev.sigev_value.sival_ptr = &mqdes; /* Arg. to thread func. */\n" " if (mq_notify(mqdes, &sev) == -1)\n" " handle_error(\"mq_notify\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " pause(); /* Process will be terminated by thread function */\n" "}\n" msgstr "" " pause(); /* Le processus sera terminé par la fonction du proc. */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(7), B(7)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(7), B(7)" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Pages du manuel de Linux 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Pages du manuel de Linux (non publiées)"