summaryrefslogtreecommitdiffstats
path: root/po/ru/man2/timerfd_create.2.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man2/timerfd_create.2.po')
-rw-r--r--po/ru/man2/timerfd_create.2.po1738
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"