diff options
Diffstat (limited to 'po/ru/man3/mq_notify.3.po')
-rw-r--r-- | po/ru/man3/mq_notify.3.po | 901 |
1 files changed, 901 insertions, 0 deletions
diff --git a/po/ru/man3/mq_notify.3.po b/po/ru/man3/mq_notify.3.po new file mode 100644 index 00000000..5f7cbb71 --- /dev/null +++ b/po/ru/man3/mq_notify.3.po @@ -0,0 +1,901 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# aereiae <aereiae@gmail.com>, 2014. +# Alexey <a.chepugov@gmail.com>, 2015. +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2013-2017. +# Dmitriy S. Seregin <dseregin@59.ru>, 2013. +# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017. +# ITriskTI <ITriskTI@gmail.com>, 2013. +# Max Is <ismax799@gmail.com>, 2016. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +# Малянов Евгений Викторович <maljanow@outlook.com>, 2014. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:02+0100\n" +"PO-Revision-Date: 2019-10-06 08:59+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<mq_notify>()" +msgid "mq_notify" +msgstr "B<mq_notify>()" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "ИМЯ" + +#. 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 - включает уведомление при поступлении сообщения" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. 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<librt>, I<-lrt>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "СИНТАКСИС" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<#include E<lt>fcntl.hE<gt> >/* Definition of AT_* constants */\n" +#| "B<#include E<lt>unistd.hE<gt>>\n" +msgid "" +"B<#include E<lt>mqueue.hE<gt>>\n" +"B<#include E<lt>signal.hE<gt> >/* Definition of SIGEV_* constants */\n" +msgstr "" +"B<#include E<lt>fcntl.hE<gt> >/* определения констант of AT_* */\n" +"B<#include E<lt>unistd.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<int mq_notify(mqd_t >I<mqdes>B<, const struct sigevent *>I<sevp>B<);>\n" +msgstr "B<int mq_notify(mqd_t >I<mqdes>B<, const struct sigevent *>I<sevp>B<);>\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 "ОПИСАНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<mq_notify>() 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<mqdes>." +msgstr "" +"Функция B<mq_notify>() позволяет вызывающему процессу регистрироваться или " +"отменять регистрацию доставки анонимных уведомлений при появлении нового " +"сообщения в пустой очереди сообщений, на которую ссылается дескриптор " +"очереди сообщений I<mqdes>." + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "The I<sevp> argument is a pointer to a I<sigevent> structure. For the " +#| "definition and general details of this structure, see B<sigevent>(7)." +msgid "" +"The I<sevp> argument is a pointer to a I<sigevent> structure. For the " +"definition and general details of this structure, see B<sigevent>(3type)." +msgstr "" +"Аргумент I<sevp> является указателем на структуру I<sigevent>. Определение и " +"описание структуры смотрите в B<sigevent>(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<sevp> is a non-null pointer, then B<mq_notify>() registers the calling " +"process to receive message notification. The I<sigev_notify> field of the " +"I<sigevent> structure to which I<sevp> points specifies how notification is " +"to be performed. This field has one of the following values:" +msgstr "" +"Если I<sevp> не равен null, то B<mq_notify>() регистрирует вызывающий " +"процесс для получения уведомлений о сообщениях. В поле I<sigev_notify> " +"структуры I<sigevent>, на которую указывает I<sevp>, задаётся способ " +"выполнения уведомления. Это поле может содержать одно из следующих значений:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SIGEV_NONE>" +msgstr "B<SIGEV_NONE>" + +#. 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 "" +"«Нулевое» уведомление: хотя вызывающий процесс и регистрируется как " +"уведомляемый, при появлении сообщения уведомление не будет отправлено." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SIGEV_SIGNAL>" +msgstr "B<SIGEV_SIGNAL>" + +#. I don't know of other implementations that set +#. si_pid and si_uid -- MTK +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "Notify the process by sending the signal specified in I<sigev_signo>. " +#| "See B<sigevent>(7) for general details. The I<si_code> field of the " +#| "I<siginfo_t> structure will be set to B<SI_MESGQ>. In addition, " +#| "I<si_pid> will be set to the PID of the process that sent the message, " +#| "and I<si_uid> will be set to the real user ID of the sending process." +msgid "" +"Notify the process by sending the signal specified in I<sigev_signo>. See " +"B<sigevent>(3type) for general details. The I<si_code> field of the " +"I<siginfo_t> structure will be set to B<SI_MESGQ>. In addition, I<si_pid> " +"will be set to the PID of the process that sent the message, and I<si_uid> " +"will be set to the real user ID of the sending process." +msgstr "" +"Уведомлять процесс посредством отправки сигнала, указанного в " +"I<sigev_signo>. Подробности смотрите в B<sigevent>(7). Поле I<si_code> " +"структуры I<siginfo_t> будет изменено на B<SI_MESGQ>. Также, значение " +"I<si_pid> будет изменено на PID процесса, который посылается сообщение, а " +"значение I<si_uid> будет изменено на реальный пользовательский ID " +"посылающего процесса." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SIGEV_THREAD>" +msgstr "B<SIGEV_THREAD>" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "Upon message delivery, invoke I<sigev_notify_function> as if it were the " +#| "start function of a new thread. See B<sigevent>(7) for details." +msgid "" +"Upon message delivery, invoke I<sigev_notify_function> as if it were the " +"start function of a new thread. See B<sigevent>(3type) for details." +msgstr "" +"При доставке сообщения вызвать I<sigev_notify_function>, как если бы это " +"была начальная функция новой нити. Подробности смотрите в B<sigevent>(7)." + +#. 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 "" +"Только один процесс может быть зарегистрирован, чтобы получить уведомление " +"из очереди сообщений." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<sevp> 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 "" +"Если I<sevp> равно NULL и вызывающий процесс уже зарегистрирован принимать " +"сообщения для этой очереди сообщений, то регистрация удаляется; после этого " +"другой процесс может зарегистрироваться для получения уведомлений о " +"сообщениях в этой очереди." + +#. 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<mq_notify>() was called, then a notification will occur only after the " +"queue is emptied and a new message arrives." +msgstr "" +"Уведомление о сообщение возникает только при поступлении нового сообщения и " +"если очередь до этого была пуста. Если очередь не пуста на момент вызова " +"B<mq_notify>(), то уведомление будет происходить только после опустошения " +"очереди и поступлении нового сообщения." + +#. 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<mq_receive>(3), then any message notification registration is " +"ignored: the message is delivered to the process or thread calling " +"B<mq_receive>(3), and the message notification registration remains in " +"effect." +msgstr "" +"Если другой процесс или нить ожидают чтения сообщения из пустой очереди с " +"помощью B<mq_receive>(3), то все регистрации по уведомлению игнорируются; " +"сообщение доставляется процесс или нити вызвавшей B<mq_receive>(3), и " +"регистрация уведомления о сообщении остаётся как была." + +#. 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<mq_notify>() 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 "" +"Уведомление выполняется один раз: после доставки уведомления регистрация " +"удаляется и другой процесс может зарегистрироваться для уведомления. Если " +"уведомлённый процесс хочет получить следующее уведомление, то он может " +"использовать B<mq_notify>() для запроса уведомления в дальнейшем. Это должно " +"быть сделано до исчезновения всех непрочитанных сообщений из очереди " +"(переключение очереди в неблокирующий режим полезно для опустошения очереди " +"сообщений без блокировки, если очередь пуста)." + +#. 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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success B<mq_notify>() returns 0; on error, -1 is returned, with " +"I<errno> set to indicate the error." +msgstr "" +"При успешном выполнении B<mq_notify>() возвращает 0; при ошибке возвращает " +"-1, а в I<errno> помещается код ошибки." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ОШИБКИ" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBADF>" +msgstr "B<EBADF>" + +#. 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<mqdes> is invalid." +msgstr "В I<mqdes> размещён некорректный дескриптор очереди сообщений." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBUSY>" +msgstr "B<EBUSY>" + +#. 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 "" +"Другой процесс уже зарегистрировался, чтобы получать уведомление из этой " +"очереди сообщений." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<sevp-E<gt>sigev_notify> is not one of the permitted values; or I<sevp-" +"E<gt>sigev_notify> is B<SIGEV_SIGNAL> and I<sevp-E<gt>sigev_signo> is not a " +"valid signal number." +msgstr "" +"Значение I<sevp-E<gt>sigev_notify> содержит недопустимое значение; или " +"I<sevp-E<gt>sigev_notify> равно B<SIGEV_SIGNAL> и I<sevp-E<gt>sigev_signo> " +"не содержит корректного номера сигнала." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "B<ENOMEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Insufficient memory." +msgstr "Недостаточно памяти." + +#. 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<may> generate an B<EINVAL> error " +"if I<sevp> is NULL, and the caller is not currently registered to receive " +"notifications for the queue I<mqdes>." +msgstr "" +"В POSIX.1-2008 сказано, что реализация I<может> генерировать ошибку " +"B<EINVAL>, если I<sevp> равно NULL, и вызывающий ещё не зарегистрирован для " +"получения уведомлений из очереди I<mqdes>." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "АТРИБУТЫ" + +#. 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<attributes>(7)." +msgstr "Описание терминов данного раздела смотрите в B<attributes>(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 "Интерфейс" + +#. 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 "Атрибут" + +#. 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 "Значение" + +#. 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<mq_notify>()" +msgstr "B<mq_notify>()" + +#. 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 "Безвредность в нитях" + +#. 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 "ВЕРСИИ" + +#. 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 "Отличия между библиотекой C и ядром" + +#. 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<mq_notify>() library function is " +"implemented on top of the system call of the same name. When I<sevp> is " +"NULL, or specifies a notification mechanism other than B<SIGEV_THREAD>, the " +"library function directly invokes the system call. For B<SIGEV_THREAD>, " +"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<netlink>(7) socket and creates a new thread for each notification that is " +"delivered to the process." +msgstr "" +"В glibc библиотечная функция B<mq_notify>() реализована на основе системного " +"вызова с тем же именем. Если I<sevp> равно NULL или задаёт механизм " +"уведомления не B<SIGEV_THREAD>, то библиотечная функция напрямую вызывает " +"системный вызов. Большая часть реализации B<SIGEV_THREAD> располагается " +"внутри библиотеки, а не в ядре (эта необходимость возникает из-за того, что " +"нить, вовлечённая в обработку уведомления, должна управляться в библиотечной " +"реализации C нитей POSIX). В реализации задействуется неструктурированный " +"сокет B<netlink>(7) и создаётся новая нить для каждого уведомления, " +"доставляемого процессу." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. 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 "ИСТОРИЯ" + +#. 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 "ПРИМЕРЫ" + +#. 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 "" +"В следующей программе показана регистрация запроса уведомления для очереди " +"сообщений с именем, указанном в аргументе командной строки. Уведомление " +"выполняется создаваемой нитью. Нить выполняет функцию, которая читает одно " +"сообщение из очереди и завершает процесс." + +#. 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 "Исходный код программы" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>mqueue.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>signal.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\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 E<lt>mq-nameE<gt>\\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 "" + +#. 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 "СМ. ТАКЖЕ" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), " +#| "B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)" +msgid "" +"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), " +"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(3type)" +msgstr "" +"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), " +"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-15" +msgstr "15 декабря 2022 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<sevp> argument is a pointer to a I<sigevent> structure. For the " +"definition and general details of this structure, see B<sigevent>(7)." +msgstr "" +"Аргумент I<sevp> является указателем на структуру I<sigevent>. Определение и " +"описание структуры смотрите в B<sigevent>(7)." + +#. I don't know of other implementations that set +#. si_pid and si_uid -- MTK +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Notify the process by sending the signal specified in I<sigev_signo>. See " +"B<sigevent>(7) for general details. The I<si_code> field of the " +"I<siginfo_t> structure will be set to B<SI_MESGQ>. In addition, I<si_pid> " +"will be set to the PID of the process that sent the message, and I<si_uid> " +"will be set to the real user ID of the sending process." +msgstr "" +"Уведомлять процесс посредством отправки сигнала, указанного в " +"I<sigev_signo>. Подробности смотрите в B<sigevent>(7). Поле I<si_code> " +"структуры I<siginfo_t> будет изменено на B<SI_MESGQ>. Также, значение " +"I<si_pid> будет изменено на PID процесса, который посылается сообщение, а " +"значение I<si_uid> будет изменено на реальный пользовательский ID " +"посылающего процесса." + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Upon message delivery, invoke I<sigev_notify_function> as if it were the " +"start function of a new thread. See B<sigevent>(7) for details." +msgstr "" +"При доставке сообщения вызвать I<sigev_notify_function>, как если бы это " +"была начальная функция новой нити. Подробности смотрите в B<sigevent>(7)." + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#include E<lt>mqueue.hE<gt>\n" +#| "#include E<lt>sys/stat.hE<gt>\n" +#| "#include E<lt>fcntl.hE<gt>\n" +#| "#include E<lt>stdio.hE<gt>\n" +#| "#include E<lt>stdlib.hE<gt>\n" +#| "#include E<lt>unistd.hE<gt>\n" +msgid "" +"#include E<lt>mqueue.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>signal.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>mqueue.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\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 /* начальная функция нити */\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 "/* Определяем максимальный размер сообщения; выделяем буфер для принимаемого сообщения */\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(\"Read %zd bytes from MQ\\en\", nr);\n" +" free(buf);\n" +" exit(EXIT_SUCCESS); /* Завершение процесса */\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 E<lt>mq-nameE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Использование: %s E<lt>mq-nameE<gt>\\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; /* аргументы функции нити */\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(); /* процесс будет завершён из функции нити */\n" +"}\n" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), " +"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)" +msgstr "" +"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), " +"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "20 июля 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |