summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/mq_notify.3.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man3/mq_notify.3.po')
-rw-r--r--po/ru/man3/mq_notify.3.po901
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"