# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # aereiae , 2014. # Alexey , 2015. # Azamat Hackimov , 2013-2017. # Dmitriy S. Seregin , 2013. # Dmitry Bolkhovskikh , 2017. # ITriskTI , 2013. # Max Is , 2016. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. # Малянов Евгений Викторович , 2014. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:04+0200\n" "PO-Revision-Date: 2019-10-06 08:59+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \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()" msgid "mq_notify" msgstr "B()" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. 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, 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 Efcntl.hE >/* Definition of AT_* constants */\n" #| "B<#include Eunistd.hE>\n" msgid "" "B<#include Emqueue.hE>\n" "B<#include Esignal.hE >/* Definition of SIGEV_* constants */\n" msgstr "" "B<#include Efcntl.hE >/* определения констант of AT_* */\n" "B<#include Eunistd.hE>\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 "ОПИСАНИЕ" #. 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() позволяет вызывающему процессу регистрироваться или " "отменять регистрацию доставки анонимных уведомлений при появлении нового " "сообщения в пустой очереди сообщений, на которую ссылается дескриптор " "очереди сообщений I." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The I argument is a pointer to a I structure. For the " #| "definition and general details of this structure, see B(7)." msgid "" "The I argument is a pointer to a I structure. For the " "definition and general details of this structure, see B(3type)." msgstr "" "Аргумент I является указателем на структуру I. Определение и " "описание структуры смотрите в B(7)." #. 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 "" "Если I не равен null, то B() регистрирует вызывающий " "процесс для получения уведомлений о сообщениях. В поле I " "структуры I, на которую указывает I, задаётся способ " "выполнения уведомления. Это поле может содержать одно из следующих значений:" #. 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 "" "«Нулевое» уведомление: хотя вызывающий процесс и регистрируется как " "уведомляемый, при появлении сообщения уведомление не будет отправлено." #. 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 #, fuzzy #| 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." 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 "" "Уведомлять процесс посредством отправки сигнала, указанного в " "I. Подробности смотрите в B(7). Поле I " "структуры I будет изменено на B. Также, значение " "I будет изменено на PID процесса, который посылается сообщение, а " "значение I будет изменено на реальный пользовательский ID " "посылающего процесса." #. 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 #, fuzzy #| msgid "" #| "Upon message delivery, invoke I as if it were the " #| "start function of a new thread. See B(7) for details." msgid "" "Upon message delivery, invoke I as if it were the " "start function of a new thread. See B(3type) for details." msgstr "" "При доставке сообщения вызвать I, как если бы это " "была начальная функция новой нити. Подробности смотрите в B(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 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 равно 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() was called, then a notification will occur only after the " "queue is emptied and a new message arrives." msgstr "" "Уведомление о сообщение возникает только при поступлении нового сообщения и " "если очередь до этого была пуста. Если очередь не пуста на момент вызова " "B(), то уведомление будет происходить только после опустошения " "очереди и поступлении нового сообщения." #. 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 "" "Если другой процесс или нить ожидают чтения сообщения из пустой очереди с " "помощью B(3), то все регистрации по уведомлению игнорируются; " "сообщение доставляется процесс или нити вызвавшей B(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() 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() для запроса уведомления в дальнейшем. Это должно " "быть сделано до исчезновения всех непрочитанных сообщений из очереди " "(переключение очереди в неблокирующий режим полезно для опустошения очереди " "сообщений без блокировки, если очередь пуста)." #. 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() returns 0; on error, -1 is returned, with " "I set to indicate the error." msgstr "" "При успешном выполнении B() возвращает 0; при ошибке возвращает " "-1, а в I помещается код ошибки." #. 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" 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 "В I размещён некорректный дескриптор очереди сообщений." #. 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 "" "Другой процесс уже зарегистрировался, чтобы получать уведомление из этой " "очереди сообщений." #. 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> содержит недопустимое значение; или " "Isigev_notify> равно B и Isigev_signo> " "не содержит корректного номера сигнала." #. 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 "Недостаточно памяти." #. 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 сказано, что реализация I<может> генерировать ошибку " "B, если I равно NULL, и вызывающий ещё не зарегистрирован для " "получения уведомлений из очереди 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 "АТРИБУТЫ" #. 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 "Описание терминов данного раздела смотрите в 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 "Интерфейс" #. 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()" 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 "Безвредность в нитях" #. 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() 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 "" "В glibc библиотечная функция B() реализована на основе системного " "вызова с тем же именем. Если I равно NULL или задаёт механизм " "уведомления не B, то библиотечная функция напрямую вызывает " "системный вызов. Большая часть реализации B располагается " "внутри библиотеки, а не в ядре (эта необходимость возникает из-за того, что " "нить, вовлечённая в обработку уведомления, должна управляться в библиотечной " "реализации C нитей POSIX). В реализации задействуется неструктурированный " "сокет B(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 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 "" #. 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 debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(3), B(3), B(3), B(3), " #| "B(3), B(3), B(7), B(7)" 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(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 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 "" "Аргумент I является указателем на структуру I. Определение и " "описание структуры смотрите в 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 "" "Уведомлять процесс посредством отправки сигнала, указанного в " "I. Подробности смотрите в B(7). Поле I " "структуры I будет изменено на B. Также, значение " "I будет изменено на PID процесса, который посылается сообщение, а " "значение I будет изменено на реальный пользовательский ID " "посылающего процесса." #. 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 "" "При доставке сообщения вызвать I, как если бы это " "была начальная функция новой нити. Подробности смотрите в B(7)." #. type: SH #: debian-bookworm #, no-wrap msgid "NOTES" msgstr "ПРИМЕЧАНИЯ" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "#include Emqueue.hE\n" #| "#include Esys/stat.hE\n" #| "#include Efcntl.hE\n" #| "#include Estdio.hE\n" #| "#include Estdlib.hE\n" #| "#include Eunistd.hE\n" 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 Esys/stat.hE\n" "#include Efcntl.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 /* начальная функция нити */\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 Emq-nameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc != 2) {\n" " fprintf(stderr, \"Использование: %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; /* аргументы функции нити */\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 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 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. 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" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"