diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ru/man2/timerfd_create.2.po | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man2/timerfd_create.2.po')
-rw-r--r-- | po/ru/man2/timerfd_create.2.po | 1738 |
1 files changed, 1738 insertions, 0 deletions
diff --git a/po/ru/man2/timerfd_create.2.po b/po/ru/man2/timerfd_create.2.po new file mode 100644 index 00000000..fd715804 --- /dev/null +++ b/po/ru/man2/timerfd_create.2.po @@ -0,0 +1,1738 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2014, 2016-2017. +# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017, 2019. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:12+0100\n" +"PO-Revision-Date: 2019-09-16 18:46+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 +#, no-wrap +msgid "timerfd_create" +msgstr "timerfd_create" + +#. 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 "" +"timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via " +"file descriptors" +msgstr "" +"timerfd_create, timerfd_settime, timerfd_gettime - таймеры, уведомляющие " +"через файловые дескрипторы" + +#. 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 "Standard C library (I<libc>, I<-lc>)" +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 +#, no-wrap +msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n" +msgstr "B<#include E<lt>sys/timerfd.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 timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n" +msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n" + +#. 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<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n" +#| "B< const struct itimerspec *>I<new_value>B<,>\n" +#| "B< struct itimerspec *>I<old_value>B<);>\n" +#| "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n" +msgid "" +"B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n" +"B< const struct itimerspec *>I<new_value>B<,>\n" +"B< struct itimerspec *_Nullable >I<old_value>B<);>\n" +"B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n" +msgstr "" +"B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n" +"B< const struct itimerspec *>I<new_value>B<,>\n" +"B< struct itimerspec *>I<old_value>B<);>\n" +"B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>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 "" +"These system calls create and operate on a timer that delivers timer " +"expiration notifications via a file descriptor. They provide an alternative " +"to the use of B<setitimer>(2) or B<timer_create>(2), with the advantage " +"that the file descriptor may be monitored by B<select>(2), B<poll>(2), and " +"B<epoll>(7)." +msgstr "" +"Эти системные вызовы создают и работают с таймером, доставляя уведомления о " +"срабатывании через файловый дескриптор. Они предоставляют альтернативу " +"B<setitimer>(2) или B<timer_create>(2); их преимущество в том, что за " +"файловым дескриптором можно следить с помощью B<select>(2), B<poll>(2) и " +"B<epoll>(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The use of these three system calls is analogous to the use of " +"B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2). (There is " +"no analog of B<timer_getoverrun>(2), since that functionality is provided by " +"B<read>(2), as described below.)" +msgstr "" +"Использование данных трёх системных вызовов аналогично B<timer_create>(2), " +"B<timer_settime>(2) и B<timer_gettime>(2) (аналога B<timer_getoverrun>(2) " +"нет, так как его возможности предоставляет B<read>(2) как описано ниже)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "timerfd_create()" +msgstr "timerfd_create()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<timerfd_create>() creates a new timer object, and returns a file " +"descriptor that refers to that timer. The I<clockid> argument specifies the " +"clock that is used to mark the progress of the timer, and must be one of the " +"following:" +msgstr "" +"Вызов B<timerfd_create>() создаёт новый объект таймера и возвращает файловый " +"дескриптор, который ссылается на этот таймер. В аргументе I<clockid> " +"задаются часы, которые используются для хода таймера; значением должно быть " +"одно из следующих:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLOCK_REALTIME>" +msgstr "B<CLOCK_REALTIME>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "A settable system-wide real-time clock." +msgstr "Настраиваемые системные часы реального времени." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLOCK_MONOTONIC>" +msgstr "B<CLOCK_MONOTONIC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A nonsettable monotonically increasing clock that measures time from some " +"unspecified point in the past that does not change after system startup." +msgstr "" +"Ненастраиваемые, постоянно идущие вперёд часы, отсчитывающие время с " +"некоторой неопределённой точки в прошлом, которая не изменяется с момент " +"запуска системы." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLOCK_BOOTTIME> (Since Linux 3.15)" +msgstr "B<CLOCK_BOOTTIME> (начиная с Linux 3.15)" + +#. commit 4a2378a943f09907fb1ae35c15de917f60289c14 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Like B<CLOCK_MONOTONIC>, this is a monotonically increasing clock. However, " +"whereas the B<CLOCK_MONOTONIC> clock does not measure the time while a " +"system is suspended, the B<CLOCK_BOOTTIME> clock does include the time " +"during which the system is suspended. This is useful for applications that " +"need to be suspend-aware. B<CLOCK_REALTIME> is not suitable for such " +"applications, since that clock is affected by discontinuous changes to the " +"system clock." +msgstr "" +"Подобно B<CLOCK_MONOTONIC>, представляет монотонно растущие часы. Однако, " +"если часы B<CLOCK_MONOTONIC> не отсчитывают время когда система находится в " +"состоянии ожидания (suspended), а часы B<CLOCK_BOOTTIME> учитывают время в " +"таком состоянии системы. Это полезно приложениям, которым необходимо " +"учитывать состояние ожидания. B<CLOCK_REALTIME> не подходят для таких " +"приложений, так как эти часы подвержены скачкообразным изменениям системных " +"часов." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLOCK_REALTIME_ALARM> (since Linux 3.11)" +msgstr "B<CLOCK_REALTIME_ALARM> (начиная с Linux 3.11)" + +#. commit 11ffa9d6065f344a9bd769a2452f26f2f671e5f8 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This clock is like B<CLOCK_REALTIME>, but will wake the system if it is " +"suspended. The caller must have the B<CAP_WAKE_ALARM> capability in order " +"to set a timer against this clock." +msgstr "" +"Эти часы подобны B<CLOCK_REALTIME>, но разбудят систему, если она находится " +"с состоянии ожидания. Для установки таймера по этим часам вызывающий должен " +"иметь мандат B<CAP_WAKE_ALARM>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLOCK_BOOTTIME_ALARM> (since Linux 3.11)" +msgstr "B<CLOCK_BOOTTIME_ALARM> (начиная с Linux 3.11)" + +#. commit 11ffa9d6065f344a9bd769a2452f26f2f671e5f8 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This clock is like B<CLOCK_BOOTTIME>, but will wake the system if it is " +"suspended. The caller must have the B<CAP_WAKE_ALARM> capability in order " +"to set a timer against this clock." +msgstr "" +"Эти часы подобны B<CLOCK_BOOTTIME>, но разбудят систему, если она находится " +"с состоянии ожидания. Для установки таймера по этим часам вызывающий должен " +"иметь мандат B<CAP_WAKE_ALARM>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See B<clock_getres>(2) for some further details on the above clocks." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The current value of each of these clocks can be retrieved using " +"B<clock_gettime>(2)." +msgstr "" +"Текущее значение каждого из этих часов можно получить с помощью " +"B<clock_gettime>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with Linux 2.6.27, the following values may be bitwise ORed in " +"I<flags> to change the behavior of B<timerfd_create>():" +msgstr "" +"Начиная с Linux 2.6.27, для изменения поведения B<timerfd_create>() можно " +"использовать следующие значения I<flags> (через OR):" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<TFD_NONBLOCK>" +msgstr "B<TFD_NONBLOCK>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the B<O_NONBLOCK> file status flag on the open file description (see " +"B<open>(2)) referred to by the new file descriptor. Using this flag saves " +"extra calls to B<fcntl>(2) to achieve the same result." +msgstr "" +"Устанавливает флаг состояния файла B<O_NONBLOCK> для нового открытого " +"файлового описания (смотрите B<open>(2)), на которое ссылается новый " +"файловый дескриптор. Использование данного флага делает ненужными " +"дополнительные вызовы B<fcntl>(2) для достижения того же результата." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<TFD_CLOEXEC>" +msgstr "B<TFD_CLOEXEC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the close-on-exec (B<FD_CLOEXEC>) flag on the new file descriptor. See " +"the description of the B<O_CLOEXEC> flag in B<open>(2) for reasons why this " +"may be useful." +msgstr "" +"Устанавливает флаг close-on-exec (B<FD_CLOEXEC>) для нового открытого " +"файлового дескриптора. Смотрите описание флага B<O_CLOEXEC> в B<open>(2) для " +"того, чтобы узнать как это может пригодиться." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In Linux versions up to and including 2.6.26, I<flags> must be specified as " +"zero." +msgstr "До Linux 2.6.26 включительно аргумент I<flags> должен быть равен нулю." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "timerfd_settime()" +msgstr "timerfd_settime()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<timerfd_settime>() arms (starts) or disarms (stops) the timer referred " +"to by the file descriptor I<fd>." +msgstr "" +"Вызов B<timerfd_settime>() запускает или останавливает таймер, на который " +"ссылается файловый дескриптор I<fd>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<new_value> argument specifies the initial expiration and interval " +#| "for the timer. The I<itimerspec> structure used for this argument " +#| "contains two fields, each of which is in turn a structure of type " +#| "I<timespec>:" +msgid "" +"The I<new_value> argument specifies the initial expiration and interval for " +"the timer. The I<itimerspec> structure used for this argument is described " +"in B<itimerspec>(3type)." +msgstr "" +"В аргументе I<new_value> задаётся начальное срабатывание и интервал таймера. " +"Для этого аргумента используется структура I<itimerspec>, содержащая два " +"поля, каждое из которых, в свою очередь, является структурой I<timespec>:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<new_value.it_value> specifies the initial expiration of the timer, in " +"seconds and nanoseconds. Setting either field of I<new_value.it_value> to a " +"nonzero value arms the timer. Setting both fields of I<new_value.it_value> " +"to zero disarms the timer." +msgstr "" +"В I<new_value.it_value> задаётся первое срабатывание таймера, в секундах и " +"наносекундах. Установка любого из полей I<new_value.it_value> в ненулевое " +"значение включает таймер. Установка обоих полей I<new_value.it_value> в ноль " +"выключает таймер." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Setting one or both fields of I<new_value.it_interval> to nonzero values " +"specifies the period, in seconds and nanoseconds, for repeated timer " +"expirations after the initial expiration. If both fields of I<new_value." +"it_interval> are zero, the timer expires just once, at the time specified by " +"I<new_value.it_value>." +msgstr "" +"Установка одного или обоих полей I<new_value.it_interval> в ненулевое " +"значение задаёт период, в секундах и наносекундах, периодического " +"срабатывания таймера после первого срабатывания. Если оба поля I<new_value." +"it_interval> равны нулю, то таймер срабатывает только один раз, во время, " +"указанное в I<new_value.it_value>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By default, the initial expiration time specified in I<new_value> is " +"interpreted relative to the current time on the timer's clock at the time of " +"the call (i.e., I<new_value.it_value> specifies a time relative to the " +"current value of the clock specified by I<clockid>). An absolute timeout " +"can be selected via the I<flags> argument." +msgstr "" +"По умолчанию, начальное время срабатывания, задаваемое в I<new_value>, " +"считается относительно текущего времени часов таймера на момент вызова (т. " +"е., в I<new_value.it_value> задаётся время относительно текущего значения " +"часов, заданных в I<clockid>). Использование абсолютной задержки можно " +"включить через аргумент I<flags>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<flags> argument is a bit mask that can include the following values:" +msgstr "" +"Аргумент I<flags> является битовой маской, которая может включать следующие " +"значения:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<TFD_TIMER_ABSTIME>" +msgstr "B<TFD_TIMER_ABSTIME>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Interpret I<new_value.it_value> as an absolute value on the timer's clock. " +"The timer will expire when the value of the timer's clock reaches the value " +"specified in I<new_value.it_value>." +msgstr "" +"Считать I<new_value.it_value> абсолютным значением часов таймера. Таймер " +"сработает, когда значение часов таймера достигнет значения, указанного в " +"I<new_value.it_value>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<TFD_TIMER_CANCEL_ON_SET>" +msgstr "B<TFD_TIMER_CANCEL_ON_SET>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this flag is specified along with B<TFD_TIMER_ABSTIME> and the clock for " +"this timer is B<CLOCK_REALTIME> or B<CLOCK_REALTIME_ALARM>, then mark this " +"timer as cancelable if the real-time clock undergoes a discontinuous change " +"(B<settimeofday>(2), B<clock_settime>(2), or similar). When such changes " +"occur, a current or future B<read>(2) from the file descriptor will fail " +"with the error B<ECANCELED>." +msgstr "" +"Если этот флаг указан вместе с B<TFD_TIMER_ABSTIME> и часами этого таймера " +"являются B<CLOCK_REALTIME> или B<CLOCK_REALTIME_ALARM>, то помечать этот " +"таймер как отменяемый, если часы реального времени подвергнуться " +"скачкообразному изменению (B<settimeofday>(2), B<clock_settime>(2) или " +"подобными). Когда такие изменения происходят, текущий или будущий вызова " +"B<read>(2) для файлового дескриптора завершается с ошибкой B<ECANCELED>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the I<old_value> argument is not NULL, then the I<itimerspec> structure " +"that it points to is used to return the setting of the timer that was " +"current at the time of the call; see the description of " +"B<timerfd_gettime>() following." +msgstr "" +"Если I<old_value> не равно NULL, то это указатель на структуру " +"I<itimerspec>, и он будет использоваться для возврата текущих на момент " +"вызова настроек таймера; смотрите описание B<timerfd_gettime>() далее." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "timerfd_gettime()" +msgstr "timerfd_gettime()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<timerfd_gettime>() returns, in I<curr_value>, an I<itimerspec> structure " +"that contains the current setting of the timer referred to by the file " +"descriptor I<fd>." +msgstr "" +"Вызов B<timerfd_gettime>() возвращает в I<curr_value>, которое указывает на " +"структуру I<itimerspec>, текущие настройки таймера, на который ссылается " +"файловый дескриптор I<fd>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<it_value> field returns the amount of time until the timer will next " +"expire. If both fields of this structure are zero, then the timer is " +"currently disarmed. This field always contains a relative value, regardless " +"of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the " +"timer." +msgstr "" +"В поле I<it_value> возвращается время до следующего срабатывания таймера. " +"Если оба поля этой структуры равны нулю, то таймер в данный момент не " +"запущен. Это поле всегда содержит относительное значение, независимо от " +"того, был ли указан флаг B<TFD_TIMER_ABSTIME> при настройке таймера." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<it_interval> field returns the interval of the timer. If both fields " +"of this structure are zero, then the timer is set to expire just once, at " +"the time specified by I<curr_value.it_value>." +msgstr "" +"В поле I<it_interval> возвращается интервал таймера. Если оба поля этой " +"структуры равны нулю, то таймер настроен на однократное срабатывание, на " +"время, заданное в I<curr_value.it_value>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Operating on a timer file descriptor" +msgstr "Работа с файловым дескриптором таймера" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The file descriptor returned by B<timerfd_create>() supports the " +#| "following operations:" +msgid "" +"The file descriptor returned by B<timerfd_create>() supports the following " +"additional operations:" +msgstr "" +"Файловый дескриптор, возвращаемый B<timerfd_create>(), поддерживает " +"следующие операции:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<read>(2)" +msgstr "B<read>(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If the timer has already expired one or more times since its settings " +#| "were last modified using B<timerfd_settime>(), or since the last " +#| "successful B<read>(2), then the buffer given to B<read>(2) returns an " +#| "unsigned 8-byte integer (I<uint64_t>) containing the number of " +#| "expirations that have occurred. (The returned value is in host byte " +#| "order\\(emthat is, the native byte order for integers on the host " +#| "machine.)" +msgid "" +"If the timer has already expired one or more times since its settings were " +"last modified using B<timerfd_settime>(), or since the last successful " +"B<read>(2), then the buffer given to B<read>(2) returns an unsigned 8-byte " +"integer (I<uint64_t>) containing the number of expirations that have " +"occurred. (The returned value is in host byte order\\[em]that is, the " +"native byte order for integers on the host machine.)" +msgstr "" +"Если таймер уже сработал один или более раз с момента настройки с помощью " +"B<timerfd_settime>(), или после последнего успешного B<read>(2), то в буфер, " +"указанный в B<read>(2), будет возвращено беззнаковое 8-байтное целое " +"(I<uint64_t>), содержащее количество произошедших срабатываний (возвращаемое " +"значение хранится в порядке байт узла, то есть родном порядке для целых " +"чисел машины выполнения)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If no timer expirations have occurred at the time of the B<read>(2), then " +"the call either blocks until the next timer expiration, or fails with the " +"error B<EAGAIN> if the file descriptor has been made nonblocking (via the " +"use of the B<fcntl>(2) B<F_SETFL> operation to set the B<O_NONBLOCK> flag)." +msgstr "" +"Если таймер ещё не срабатывал до вызова B<read>(2), то вызов блокирует " +"выполнение до следующего срабатывания таймера, или завершается с ошибкой " +"B<EAGAIN>, если файловый дескриптор был создан неблокирующим (с помощью " +"вызова B<fcntl>(2) и операции B<F_SETFL> с флагом B<O_NONBLOCK>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A B<read>(2) fails with the error B<EINVAL> if the size of the supplied " +"buffer is less than 8 bytes." +msgstr "" +"Вызов B<read>(2) завершается ошибкой B<EINVAL>, если размер указанного " +"буфера будет меньше 8 байт." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the associated clock is either B<CLOCK_REALTIME> or " +"B<CLOCK_REALTIME_ALARM>, the timer is absolute (B<TFD_TIMER_ABSTIME>), and " +"the flag B<TFD_TIMER_CANCEL_ON_SET> was specified when calling " +"B<timerfd_settime>(), then B<read>(2) fails with the error B<ECANCELED> if " +"the real-time clock undergoes a discontinuous change. (This allows the " +"reading application to discover such discontinuous changes to the clock.)" +msgstr "" +"Если используются часы B<CLOCK_REALTIME> или B<CLOCK_REALTIME_ALARM>, таймер " +"является абсолютным (B<TFD_TIMER_ABSTIME>) и при вызове B<timerfd_settime>() " +"указан флаг B<TFD_TIMER_CANCEL_ON_SET>, то B<read>(2) завершается ошибкой " +"B<ECANCELED>, если часы реального времени подвергнуться скачкообразному " +"изменению (это позволяет читающему приложению обнаружить такие " +"скачкообразные изменения часов)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If the associated clock is either B<CLOCK_REALTIME> or " +#| "B<CLOCK_REALTIME_ALARM>, the timer is absolute (B<TFD_TIMER_ABSTIME>), " +#| "and the flag B<TFD_TIMER_CANCEL_ON_SET> was specified when calling " +#| "B<timerfd_settime>(), then B<read>(2) fails with the error B<ECANCELED> " +#| "if the real-time clock undergoes a discontinuous change. (This allows " +#| "the reading application to discover such discontinuous changes to the " +#| "clock.)" +msgid "" +"If the associated clock is either B<CLOCK_REALTIME> or " +"B<CLOCK_REALTIME_ALARM>, the timer is absolute (B<TFD_TIMER_ABSTIME>), and " +"the flag B<TFD_TIMER_CANCEL_ON_SET> was I<not> specified when calling " +"B<timerfd_settime>(), then a discontinuous negative change to the clock (e." +"g., B<clock_settime>(2)) may cause B<read>(2) to unblock, but return a " +"value of 0 (i.e., no bytes read), if the clock change occurs after the time " +"expired, but before the B<read>(2) on the file descriptor." +msgstr "" +"Если используются часы B<CLOCK_REALTIME> или B<CLOCK_REALTIME_ALARM>, таймер " +"является абсолютным (B<TFD_TIMER_ABSTIME>) и при вызове B<timerfd_settime>() " +"указан флаг B<TFD_TIMER_CANCEL_ON_SET>, то B<read>(2) завершается ошибкой " +"B<ECANCELED>, если часы реального времени подвергнуться скачкообразному " +"изменению (это позволяет читающему приложению обнаружить такие " +"скачкообразные изменения часов)." + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<poll>(2)" +msgstr "B<poll>(2)" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<select>(2)" +msgstr "B<select>(2)" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "(and similar)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file descriptor is readable (the B<select>(2) I<readfds> argument; the " +"B<poll>(2) B<POLLIN> flag) if one or more timer expirations have occurred." +msgstr "" +"Файловый дескриптор доступен для чтения (в B<select>(2) аргумент I<readfds>; " +"в B<poll>(2) флаг B<POLLIN>), если произошло одно или более срабатываний " +"таймера." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file descriptor also supports the other file-descriptor multiplexing " +"APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)." +msgstr "" +"Файловый дескриптор также поддерживает другие мультиплексные вызовы: " +"B<pselect>(2), B<ppoll>(2) и B<epoll>(7)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ioctl>(2)" +msgstr "B<ioctl>(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following timerfd-specific command is supported:" +msgstr "Поддерживается следующая команда, относящаяся к timerfd:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<TFD_IOC_SET_TICKS> (since Linux 3.17)" +msgstr "B<TFD_IOC_SET_TICKS> (начиная с Linux 3.17)" + +#. commit 5442e9fbd7c23172a1c9bc736629cd123a9923f0 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Adjust the number of timer expirations that have occurred. The argument is " +"a pointer to a nonzero 8-byte integer (I<uint64_t>*) containing the new " +"number of expirations. Once the number is set, any waiter on the timer is " +"woken up. The only purpose of this command is to restore the expirations " +"for the purpose of checkpoint/restore. This operation is available only if " +"the kernel was configured with the B<CONFIG_CHECKPOINT_RESTORE> option." +msgstr "" +"Корректирует количество истечений таймера, которые произошли. Аргументом " +"является указатель на ненулевое 8-байтовое целое (I<uint64_t>*), содержащее " +"новое количество истечений. После установки количества, все ожидающие " +"таймера пробуждаются. Единственная цель данной команды — восстановить " +"истечений для отсечки/восстановления. Данная операция доступна только, если " +"ядро собрано с параметром B<CONFIG_CHECKPOINT_RESTORE>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<close>(2)" +msgstr "B<close>(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When the file descriptor is no longer required it should be closed. When " +"all file descriptors associated with the same timer object have been closed, " +"the timer is disarmed and its resources are freed by the kernel." +msgstr "" +"Если файловый дескриптор больше не требуется, его нужно закрыть. Когда все " +"файловые дескрипторы, связанные с одним объектом таймера, будут закрыты, " +"таймер выключается и ядро освобождает его ресурсы." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "fork(2) semantics" +msgstr "Поведение при fork(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"After a B<fork>(2), the child inherits a copy of the file descriptor created " +"by B<timerfd_create>(). The file descriptor refers to the same underlying " +"timer object as the corresponding file descriptor in the parent, and " +"B<read>(2)s in the child will return information about expirations of the " +"timer." +msgstr "" +"После B<fork>(2) потомки наследуют копию файлового дескриптора, созданного " +"B<timerfd_create>(). Файловый дескриптор потомка ссылается на тот же объект " +"таймера, что и файловый дескриптор его родителя, и операция B<read>(2) в " +"потомке будет возвращать информацию о срабатываниях таймера." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve(2) semantics" +msgstr "Поведение при execve(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A file descriptor created by B<timerfd_create>() is preserved across " +"B<execve>(2), and continues to generate timer expirations if the timer was " +"armed." +msgstr "" +"Файловый дескриптор, созданный B<timerfd_create>(), сохраняется при " +"B<execve>(2), и продолжает генерировать срабатывания таймера, если он " +"включён." + +#. 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<timerfd_create>() returns a new file descriptor. On error, " +"-1 is returned and I<errno> is set to indicate the error." +msgstr "" +"При успешном выполнении B<timerfd_create>() возвращает новый файловый " +"дескриптор. При ошибке возвращается -1, и I<errno> устанавливается в " +"соответствующее значение." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<timerfd_settime>() and B<timerfd_gettime>() return 0 on success; on " +"error they return -1, and set I<errno> to indicate the error." +msgstr "" +"При успешном выполнении B<timerfd_settime>() и B<timerfd_gettime>() " +"возвращают 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: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<timerfd_create>() can fail with the following errors:" +msgstr "Вызов B<timerfd_create>() может завершиться со следующими ошибками:" + +#. 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 +#, fuzzy +#| msgid "I<timerid> is invalid." +msgid "The I<clockid> is not valid." +msgstr "Неверное значение I<timerid>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero." +msgstr "" +"Неправильное значение I<flags> или, для Linux 2.6.26 и старее, I<flags> не " +"равно 0." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EMFILE>" +msgstr "B<EMFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The per-process limit on the number of open file descriptors has been " +"reached." +msgstr "" +"Было достигнуто ограничение по количеству открытых файловых дескрипторов на " +"процесс." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "B<ENFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "Достигнуто максимальное количество открытых файлов в системе." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENODEV>" +msgstr "B<ENODEV>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Could not mount (internal) anonymous inode device." +msgstr "Не удалось смонтировать (внутреннее) безымянное устройство inode." + +#. 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 "There was insufficient kernel memory to create the timer." +msgstr "Недостаточно памяти ядра для создания таймера." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "B<EPERM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<clockid> was B<CLOCK_REALTIME_ALARM> or B<CLOCK_BOOTTIME_ALARM> but the " +"caller did not have the B<CAP_WAKE_ALARM> capability." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<timerfd_settime>() and B<timerfd_gettime>() can fail with the following " +"errors:" +msgstr "" +"Вызовы B<timerfd_settime>() и B<timerfd_gettime>() могут завершаться со " +"следующими ошибками:" + +#. 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 "I<fd> is not a valid file descriptor." +msgstr "Значение I<fd> не является правильным файловым дескриптором." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "B<EFAULT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer." +msgstr "Некорректный указатель I<new_value>, I<old_value> или I<curr_value>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<fd> is not a valid timerfd file descriptor." +msgstr "Значение I<fd> не является правильным файловым дескриптором timerfd." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<timerfd_settime>() can also fail with the following errors:" +msgstr "" +"Вызов B<timerfd_settime>() также может завершиться со следующими ошибками:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ECANCELED>" +msgstr "B<ECANCELED>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See NOTES." +msgstr "Смотрите ЗАМЕЧАНИЯ." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<new_value> is not properly initialized (one of the I<tv_nsec> falls " +"outside the range zero to 999,999,999)." +msgstr "" +"Значение I<new_value> некорректно инициализировано (одно из I<tv_nsec> вне " +"диапазона от 0 до 999999999)." + +#. This case only checked since Linux 2.6.29, and Linux 2.2.2[78].some-stable-version. +#. In older kernel versions, no check was made for invalid flags. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<flags> is invalid." +msgstr "Значение I<flags> неверно." + +#. 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 "Linux." +msgstr "Linux." + +#. 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-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux 2.6.25, glibc 2.8." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Suppose the following scenario for B<CLOCK_REALTIME> or " +"B<CLOCK_REALTIME_ALARM> timer that was created with B<timerfd_create>():" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(1)" +msgstr "(1)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The timer has been started (B<timerfd_settime>()) with the " +"B<TFD_TIMER_ABSTIME> and B<TFD_TIMER_CANCEL_ON_SET> flags;" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(2)" +msgstr "(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A discontinuous change (e.g., B<settimeofday>(2)) is subsequently made to " +"the B<CLOCK_REALTIME> clock; and" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(3)" +msgstr "(3)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the caller once more calls B<timerfd_settime>() to rearm the timer (without " +"first doing a B<read>(2) on the file descriptor)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "Note the following:" +msgid "In this case the following occurs:" +msgstr "Также заметим следующее:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "\\[bu]" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<timerfd_settime>() returns -1 with I<errno> set to B<ECANCELED>. " +"(This enables the caller to know that the previous timer was affected by a " +"discontinuous change to the clock.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The timer I<is successfully rearmed> with the settings provided in the " +"second B<timerfd_settime>() call. (This was probably an implementation " +"accident, but won't be fixed now, in case there are applications that depend " +"on this behaviour.)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "ДЕФЕКТЫ" + +#. 2.6.29 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Currently, B<timerfd_create>() supports fewer types of clock IDs than " +"B<timer_create>(2)." +msgstr "" +"В настоящее время B<timerfd_create>() поддерживает только несколько типов " +"идентификаторов часов, поддерживаемых B<timer_create>(2)." + +#. 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 creates a timer and then monitors its progress. The " +"program accepts up to three command-line arguments. The first argument " +"specifies the number of seconds for the initial expiration of the timer. " +"The second argument specifies the interval for the timer, in seconds. The " +"third argument specifies the number of times the program should allow the " +"timer to expire before terminating. The second and third command-line " +"arguments are optional." +msgstr "" +"Следующая программа создаёт таймер и затем следит за его работой. Программа " +"получает до трёх аргументов из командной строки. В первом аргументе задаётся " +"количество секунд до первого срабатывания таймера. Во втором аргументе " +"задаётся интервал таймера в секундах. В третьем аргументе задаётся сколько " +"программа должна позволить сработать таймеру до завершения. Второй и третий " +"аргументы необязательны." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following shell session demonstrates the use of the program:" +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< a.out 3 1 100>\n" +#| "0.000: timer started\n" +#| "3.000: read: 1; total=1\n" +#| "4.000: read: 1; total=2\n" +#| "B<\\(haZ > # type control-Z to suspend the program\n" +#| "[1]+ Stopped ./timerfd3_demo 3 1 100\n" +#| "$ B<fg> # Resume execution after a few seconds\n" +#| "a.out 3 1 100\n" +#| "9.660: read: 5; total=7\n" +#| "10.000: read: 1; total=8\n" +#| "11.000: read: 1; total=9\n" +#| "B<\\(haC > # type control-C to suspend the program\n" +msgid "" +"$B< a.out 3 1 100>\n" +"0.000: timer started\n" +"3.000: read: 1; total=1\n" +"4.000: read: 1; total=2\n" +"B<\\[ha]Z > # type control-Z to suspend the program\n" +"[1]+ Stopped ./timerfd3_demo 3 1 100\n" +"$ B<fg> # Resume execution after a few seconds\n" +"a.out 3 1 100\n" +"9.660: read: 5; total=7\n" +"10.000: read: 1; total=8\n" +"11.000: read: 1; total=9\n" +"B<\\[ha]C > # type control-C to suspend the program\n" +msgstr "" +"$B< a.out 3 1 100>\n" +"0.000: таймер запущен\n" +"3.000: read: 1; всего=1\n" +"4.000: read: 1; всего=2\n" +"B<\\(haZ > # нажато control-Z для приостанова программы\n" +"[1]+ Stopped ./timerfd3_demo 3 1 100\n" +"$ B<fg> # возобновление выполнения после нескольких\n" +" #секунд\n" +"a.out 3 1 100\n" +"9.660: read: 5; всего=7\n" +"10.000: read: 1; всего=8\n" +"11.000: read: 1; всего=9\n" +"B<\\(haC > # нажато control-C для приостанова программы\n" + +#. 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 "Исходный код программы" + +# +# +# +# +# +# +# +#. The commented out code here is what we currently need until +#. the required stuff is in glibc +#. /* Link with \-lrt */ +#. #define _GNU_SOURCE +#. #include <sys/syscall.h> +#. #include <unistd.h> +#. #include <time.h> +#. #if defined(__i386__) +#. #define __NR_timerfd_create 322 +#. #define __NR_timerfd_settime 325 +#. #define __NR_timerfd_gettime 326 +#. #endif +#. static int +#. timerfd_create(int clockid, int flags) +#. { +#. return syscall(__NR_timerfd_create, clockid, flags); +#. } +#. static int +#. timerfd_settime(int fd, int flags, struct itimerspec *new_value, +#. struct itimerspec *curr_value) +#. { +#. return syscall(__NR_timerfd_settime, fd, flags, new_value, +#. curr_value); +#. } +#. static int +#. timerfd_gettime(int fd, struct itimerspec *curr_value) +#. { +#. return syscall(__NR_timerfd_gettime, fd, curr_value); +#. } +#. #define TFD_TIMER_ABSTIME (1 << 0) +#. //////////////////////////////////////////////////////////// +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>inttypes.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/timerfd.hE<gt>\n" +"#include E<lt>time.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"static void\n" +"print_elapsed_time(void)\n" +"{\n" +" int secs, nsecs;\n" +" static int first_call = 1;\n" +" struct timespec curr;\n" +" static struct timespec start;\n" +"\\&\n" +" if (first_call) {\n" +" first_call = 0;\n" +" if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +" }\n" +"\\&\n" +" if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +"\\&\n" +" secs = curr.tv_sec - start.tv_sec;\n" +" nsecs = curr.tv_nsec - start.tv_nsec;\n" +" if (nsecs E<lt> 0) {\n" +" secs--;\n" +" nsecs += 1000000000;\n" +" }\n" +" printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n" +"}\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" ssize_t s;\n" +" uint64_t exp, tot_exp, max_exp;\n" +" struct timespec now;\n" +" struct itimerspec new_value;\n" +"\\&\n" +" if (argc != 2 && argc != 4) {\n" +" fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n" +" argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +"\\&\n" +" /* Create a CLOCK_REALTIME absolute timer with initial\n" +" expiration and interval as specified in command line. */\n" +"\\&\n" +" new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n" +" new_value.it_value.tv_nsec = now.tv_nsec;\n" +" if (argc == 2) {\n" +" new_value.it_interval.tv_sec = 0;\n" +" max_exp = 1;\n" +" } else {\n" +" new_value.it_interval.tv_sec = atoi(argv[2]);\n" +" max_exp = atoi(argv[3]);\n" +" }\n" +" new_value.it_interval.tv_nsec = 0;\n" +"\\&\n" +" fd = timerfd_create(CLOCK_REALTIME, 0);\n" +" if (fd == -1)\n" +" err(EXIT_FAILURE, \"timerfd_create\");\n" +"\\&\n" +" if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n" +" err(EXIT_FAILURE, \"timerfd_settime\");\n" +"\\&\n" +" print_elapsed_time();\n" +" printf(\"timer started\\en\");\n" +"\\&\n" +" for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n" +" s = read(fd, &exp, sizeof(uint64_t));\n" +" if (s != sizeof(uint64_t))\n" +" err(EXIT_FAILURE, \"read\");\n" +"\\&\n" +" tot_exp += exp;\n" +" print_elapsed_time();\n" +" printf(\"read: %\" PRIu64 \"; total=%\" PRIu64 \"\\en\", exp, tot_exp);\n" +" }\n" +"\\&\n" +" exit(EXIT_SUCCESS);\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-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), " +"B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), " +"B<timer_settime>(2), B<timespec>(3), B<epoll>(7), B<time>(7)" +msgstr "" +"B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), " +"B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), " +"B<timer_settime>(2), B<timespec>(3), B<epoll>(7), B<time>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 февраля 2023 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: TP +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<poll>(2), B<select>(2) (and similar)" +msgstr "B<poll>(2), B<select>(2) (и подобные)" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "ВЕРСИИ" + +#. type: Plain text +#: debian-bookworm +#, fuzzy +#| msgid "" +#| "These system calls are available on Linux since kernel 2.6.25. Library " +#| "support is provided by glibc since version 2.8." +msgid "" +"These system calls are available since Linux 2.6.25. Library support is " +"provided since glibc 2.8." +msgstr "" +"Данные системные вызовы доступны в Linux начиная с ядра версии 2.6.25. " +"Поддержка в библиотеке glibc появилась в версии 2.8." + +#. type: Plain text +#: debian-bookworm +msgid "These system calls are Linux-specific." +msgstr "Данные системные вызовы есть только в Linux." + +#. The commented out code here is what we currently need until +#. the required stuff is in glibc +#. /* Link with \-lrt */ +#. #define _GNU_SOURCE +#. #include <sys/syscall.h> +#. #include <unistd.h> +#. #include <time.h> +#. #if defined(__i386__) +#. #define __NR_timerfd_create 322 +#. #define __NR_timerfd_settime 325 +#. #define __NR_timerfd_gettime 326 +#. #endif +#. static int +#. timerfd_create(int clockid, int flags) +#. { +#. return syscall(__NR_timerfd_create, clockid, flags); +#. } +#. static int +#. timerfd_settime(int fd, int flags, struct itimerspec *new_value, +#. struct itimerspec *curr_value) +#. { +#. return syscall(__NR_timerfd_settime, fd, flags, new_value, +#. curr_value); +#. } +#. static int +#. timerfd_gettime(int fd, struct itimerspec *curr_value) +#. { +#. return syscall(__NR_timerfd_gettime, fd, curr_value); +#. } +#. #define TFD_TIMER_ABSTIME (1 << 0) +#. //////////////////////////////////////////////////////////// +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>inttypes.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/timerfd.hE<gt>\n" +"#include E<lt>time.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>inttypes.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/timerfd.hE<gt>\n" +"#include E<lt>time.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"static void\n" +"print_elapsed_time(void)\n" +"{\n" +" int secs, nsecs;\n" +" static int first_call = 1;\n" +" struct timespec curr;\n" +" static struct timespec start;\n" +msgstr "" +"static void\n" +"print_elapsed_time(void)\n" +"{\n" +" int secs, nsecs;\n" +" static int first_call = 1;\n" +" struct timespec curr;\n" +" static struct timespec start;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (first_call) {\n" +" first_call = 0;\n" +" if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +" }\n" +msgstr "" +" if (first_call) {\n" +" first_call = 0;\n" +" if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +msgstr "" +" if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" secs = curr.tv_sec - start.tv_sec;\n" +" nsecs = curr.tv_nsec - start.tv_nsec;\n" +" if (nsecs E<lt> 0) {\n" +" secs--;\n" +" nsecs += 1000000000;\n" +" }\n" +" printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n" +"}\n" +msgstr "" +" secs = curr.tv_sec - start.tv_sec;\n" +" nsecs = curr.tv_nsec - start.tv_nsec;\n" +" if (nsecs E<lt> 0) {\n" +" secs--;\n" +" nsecs += 1000000000;\n" +" }\n" +" printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" ssize_t s;\n" +" uint64_t exp, tot_exp, max_exp;\n" +" struct timespec now;\n" +" struct itimerspec new_value;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" ssize_t s;\n" +" uint64_t exp, tot_exp, max_exp;\n" +" struct timespec now;\n" +" struct itimerspec new_value;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc != 2 && argc != 4) {\n" +" fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n" +" argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc != 2 && argc != 4) {\n" +" fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n" +" argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" +msgstr "" +" if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n" +" err(EXIT_FAILURE, \"clock_gettime\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* Create a CLOCK_REALTIME absolute timer with initial\n" +" expiration and interval as specified in command line. */\n" +msgstr "" +" /* Создаём абсолютный таймер CLOCK_REALTIME с начальным\n" +" срабатыванием и интервалом, заданными из командной строки. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n" +" new_value.it_value.tv_nsec = now.tv_nsec;\n" +" if (argc == 2) {\n" +" new_value.it_interval.tv_sec = 0;\n" +" max_exp = 1;\n" +" } else {\n" +" new_value.it_interval.tv_sec = atoi(argv[2]);\n" +" max_exp = atoi(argv[3]);\n" +" }\n" +" new_value.it_interval.tv_nsec = 0;\n" +msgstr "" +" new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n" +" new_value.it_value.tv_nsec = now.tv_nsec;\n" +" if (argc == 2) {\n" +" new_value.it_interval.tv_sec = 0;\n" +" max_exp = 1;\n" +" } else {\n" +" new_value.it_interval.tv_sec = atoi(argv[2]);\n" +" max_exp = atoi(argv[3]);\n" +" }\n" +" new_value.it_interval.tv_nsec = 0;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" fd = timerfd_create(CLOCK_REALTIME, 0);\n" +" if (fd == -1)\n" +" err(EXIT_FAILURE, \"timerfd_create\");\n" +msgstr "" +" fd = timerfd_create(CLOCK_REALTIME, 0);\n" +" if (fd == -1)\n" +" err(EXIT_FAILURE, \"timerfd_create\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n" +" err(EXIT_FAILURE, \"timerfd_settime\");\n" +msgstr "" +" if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n" +" err(EXIT_FAILURE, \"timerfd_settime\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" print_elapsed_time();\n" +" printf(\"timer started\\en\");\n" +msgstr "" +" print_elapsed_time();\n" +" printf(\"таймер запущен\\en\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n" +" s = read(fd, &exp, sizeof(uint64_t));\n" +" if (s != sizeof(uint64_t))\n" +" err(EXIT_FAILURE, \"read\");\n" +msgstr "" +" for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n" +" s = read(fd, &exp, sizeof(uint64_t));\n" +" if (s != sizeof(uint64_t))\n" +" err(EXIT_FAILURE, \"read\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " tot_exp += exp;\n" +#| " print_elapsed_time();\n" +#| " printf(\"read: %llu; total=%llu\\en\",\n" +#| " (unsigned long long) exp,\n" +#| " (unsigned long long) tot_exp);\n" +#| " }\n" +msgid "" +" tot_exp += exp;\n" +" print_elapsed_time();\n" +" printf(\"read: %\" PRIu64 \"; total=%\" PRIu64 \"\\en\", exp, tot_exp);\n" +" }\n" +msgstr "" +" tot_exp += exp;\n" +" print_elapsed_time();\n" +" printf(\"read: %llu; всего=%llu\\en\",\n" +" (unsigned long long) exp,\n" +" (unsigned long long) tot_exp);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +" exit(EXIT_SUCCESS);\n" +"}\n" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "3 мая 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" |