summaryrefslogtreecommitdiffstats
path: root/templates/man2/timer_create.2.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man2/timer_create.2.pot')
-rw-r--r--templates/man2/timer_create.2.pot1211
1 files changed, 1211 insertions, 0 deletions
diff --git a/templates/man2/timer_create.2.pot b/templates/man2/timer_create.2.pot
new file mode 100644
index 00000000..d8996123
--- /dev/null
+++ b/templates/man2/timer_create.2.pot
@@ -0,0 +1,1211 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 17:12+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "timer_create"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-11-11"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. 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 "timer_create - create a POSIX per-process timer"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Real-time library (I<librt>, I<-lrt>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#include E<lt>signal.hE<gt>> /* Definition of B<SIGEV_*> constants */\n"
+"B<#include E<lt>time.hE<gt>>\n"
+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<int timer_create(clockid_t >I<clockid>B<,>\n"
+"B< struct sigevent *_Nullable restrict >I<sevp>B<,>\n"
+"B< timer_t *restrict >I<timerid>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<timer_create>():"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid " _POSIX_C_SOURCE E<gt>= 199309L\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<timer_create>() creates a new per-process interval timer. The ID of the "
+"new timer is returned in the buffer pointed to by I<timerid>, which must be "
+"a non-null pointer. This ID is unique within the process, until the timer "
+"is deleted. The new timer is initially disarmed."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<clockid> argument specifies the clock that the new timer uses to "
+"measure time. It can be specified as one of the following values:"
+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_REALTIME>"
+msgstr ""
+
+#. 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 ""
+
+#. Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
+#. in Linux 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
+#. 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_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A clock that measures (user and system) CPU time consumed by (all of the "
+"threads in) the calling process."
+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_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
+msgstr ""
+
+#. The CLOCK_MONOTONIC_RAW that was added in Linux 2.6.28 can't be used
+#. to create a timer -- mtk, Feb 2009
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A clock that measures (user and system) CPU time consumed by the calling "
+"thread."
+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 2.6.39)"
+msgstr ""
+
+#. commit 70a08cca1227dc31c784ec930099a4417a06e7d0
+#. 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 ""
+
+#. 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.0)"
+msgstr ""
+
+#. commit 9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337
+#. 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 ""
+
+#. 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.0)"
+msgstr ""
+
+#. commit 9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337
+#. 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 ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<CLOCK_TAI> (since Linux 3.10)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"A system-wide clock derived from wall-clock time but counting leap seconds."
+msgstr ""
+
+#. 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 ""
+"As well as the above values, I<clockid> can be specified as the I<clockid> "
+"returned by a call to B<clock_getcpuclockid>(3) or "
+"B<pthread_getcpuclockid>(3)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"The I<sevp> argument points to a I<sigevent> structure that specifies how "
+"the caller should be notified when the timer expires. For the definition "
+"and general details of this structure, see B<sigevent>(3type)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The I<sevp.sigev_notify> field can have the following values:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SIGEV_NONE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Don't asynchronously notify when the timer expires. Progress of the timer "
+"can be monitored using B<timer_gettime>(2)."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SIGEV_SIGNAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"Upon timer expiration, generate the signal I<sigev_signo> for the process. "
+"See B<sigevent>(3type) for general details. The I<si_code> field of the "
+"I<siginfo_t> structure will be set to B<SI_TIMER>. At any point in time, at "
+"most one signal is queued to the process for a given timer; see "
+"B<timer_getoverrun>(2) for more details."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SIGEV_THREAD>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
+"start function of a new thread. See B<sigevent>(3type) for details."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
+"given in I<sigev_notify_thread_id>, which must be a thread in the same "
+"process as the caller. The I<sigev_notify_thread_id> field specifies a "
+"kernel thread ID, that is, the value returned by B<clone>(2) or "
+"B<gettid>(2). This flag is intended only for use by threading libraries."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
+"I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
+"I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
+msgstr ""
+
+#. 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<timer_create>() returns 0, and the ID of the new timer is "
+"placed in I<*timerid>. On failure, -1 is returned, and I<errno> is set to "
+"indicate the error."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAGAIN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Temporary error during kernel allocation of timer structures."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
+"invalid."
+msgstr ""
+
+#. 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 ""
+
+#. glibc layer: malloc()
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Could not allocate memory."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOTSUP>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The kernel does not support creating a timer against this I<clockid>."
+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 ""
+
+#. 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: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "C library/kernel differences"
+msgstr ""
+
+#. See nptl/sysdeps/unix/sysv/linux/timer_create.c
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Part of the implementation of the POSIX timers API is provided by glibc. In "
+"particular:"
+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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Much of the functionality for B<SIGEV_THREAD> is implemented within glibc, "
+"rather than the kernel. (This is necessarily so, since the thread involved "
+"in handling the notification is one that must be managed by the C library "
+"POSIX threads implementation.) Although the notification delivered to the "
+"process is via a thread, internally the NPTL implementation uses a "
+"I<sigev_notify> value of B<SIGEV_THREAD_ID> along with a real-time signal "
+"that is reserved by the implementation (see B<nptl>(7))."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The implementation of the default case where I<evp> is NULL is handled "
+"inside glibc, which invokes the underlying system call with a suitably "
+"populated I<sigevent> structure."
+msgstr ""
+
+#. See the glibc source file kernel-posix-timers.h for the structure
+#. that glibc uses to map user-space timer IDs to kernel timer IDs
+#. The kernel-level timer ID is exposed via siginfo.si_tid.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The timer IDs presented at user level are maintained by glibc, which maps "
+"these IDs to the timer IDs employed by the kernel."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr ""
+
+#. 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. POSIX.1-2001."
+msgstr ""
+
+#. glibc commit 93a78ac437ba44f493333d7e2a4b0249839ce460
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Prior to Linux 2.6, glibc provided an incomplete user-space implementation "
+"(B<CLOCK_REALTIME> timers only) using POSIX threads, and before glibc 2.17, "
+"the implementation falls back to this technique on systems running kernels "
+"older than Linux 2.6."
+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 "A program may create multiple interval timers using B<timer_create>()."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
+"deleted during an B<execve>(2)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The kernel preallocates a \"queued real-time signal\" for each timer created "
+"using B<timer_create>(). Consequently, the number of timers is limited by "
+"the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The timers created by B<timer_create>() are commonly known as \"POSIX "
+"(interval) timers\". The POSIX timers API consists of the following "
+"interfaces:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<timer_create>()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Create a 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<timer_settime>(2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Arm (start) or disarm (stop) a 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<timer_gettime>(2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Fetch the time remaining until the next expiration of a timer, along with "
+"the interval setting of 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<timer_getoverrun>(2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Return the overrun count for the last timer expiration."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<timer_delete>(2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Disarm and delete a timer."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Since Linux 3.10, the I</proc/>pidI</timers> file can be used to list the "
+"POSIX timers for the process with PID I<pid>. See B<proc>(5) for further "
+"information."
+msgstr ""
+
+#. baa73d9e478ff32d62f3f9422822b59dd9a95a21
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Since Linux 4.10, support for POSIX timers is a configurable option that is "
+"enabled by default. Kernel support can be disabled via the "
+"B<CONFIG_POSIX_TIMERS> option."
+msgstr ""
+
+#. 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 program below takes two arguments: a sleep period in seconds, and a "
+"timer frequency in nanoseconds. The program establishes a handler for the "
+"signal it uses for the timer, blocks that signal, creates and arms a timer "
+"that expires with the given frequency, sleeps for the specified number of "
+"seconds, and then unblocks the timer signal. Assuming that the timer "
+"expired at least once while the program slept, the signal handler will be "
+"invoked, and the handler displays some information about the timer "
+"notification. The program terminates after one invocation of the signal "
+"handler."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In the following example run, the program sleeps for 1 second, after "
+"creating a timer that has a frequency of 100 nanoseconds. By the time the "
+"signal is unblocked and delivered, there have been around ten million "
+"overruns."
+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<./a.out 1 100>\n"
+"Establishing handler for signal 34\n"
+"Blocking signal 34\n"
+"timer ID is 0x804c008\n"
+"Sleeping for 1 seconds\n"
+"Unblocking signal 34\n"
+"Caught signal 34\n"
+" sival_ptr = 0xbfb174f4; *sival_ptr = 0x804c008\n"
+" overrun count = 10004886\n"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Program source"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdint.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define CLOCKID CLOCK_REALTIME\n"
+"#define SIG SIGRTMIN\n"
+"\\&\n"
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
+"\\&\n"
+"static void\n"
+"print_siginfo(siginfo_t *si)\n"
+"{\n"
+" int or;\n"
+" timer_t *tidp;\n"
+"\\&\n"
+" tidp = si-E<gt>si_value.sival_ptr;\n"
+"\\&\n"
+" printf(\" sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
+" printf(\" *sival_ptr = %#jx\\en\", (uintmax_t) *tidp);\n"
+"\\&\n"
+" or = timer_getoverrun(*tidp);\n"
+" if (or == -1)\n"
+" errExit(\"timer_getoverrun\");\n"
+" else\n"
+" printf(\" overrun count = %d\\en\", or);\n"
+"}\n"
+"\\&\n"
+"static void\n"
+"handler(int sig, siginfo_t *si, void *uc)\n"
+"{\n"
+" /* Note: calling printf() from a signal handler is not safe\n"
+" (and should not be done in production programs), since\n"
+" printf() is not async-signal-safe; see signal-safety(7).\n"
+" Nevertheless, we use printf() here as a simple way of\n"
+" showing that the handler was called. */\n"
+"\\&\n"
+" printf(\"Caught signal %d\\en\", sig);\n"
+" print_siginfo(si);\n"
+" signal(sig, SIG_IGN);\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" timer_t timerid;\n"
+" sigset_t mask;\n"
+" long long freq_nanosecs;\n"
+" struct sigevent sev;\n"
+" struct sigaction sa;\n"
+" struct itimerspec its;\n"
+"\\&\n"
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Establish handler for timer signal. */\n"
+"\\&\n"
+" printf(\"Establishing handler for signal %d\\en\", SIG);\n"
+" sa.sa_flags = SA_SIGINFO;\n"
+" sa.sa_sigaction = handler;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" if (sigaction(SIG, &sa, NULL) == -1)\n"
+" errExit(\"sigaction\");\n"
+"\\&\n"
+" /* Block timer signal temporarily. */\n"
+"\\&\n"
+" printf(\"Blocking signal %d\\en\", SIG);\n"
+" sigemptyset(&mask);\n"
+" sigaddset(&mask, SIG);\n"
+" if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
+" errExit(\"sigprocmask\");\n"
+"\\&\n"
+" /* Create the timer. */\n"
+"\\&\n"
+" sev.sigev_notify = SIGEV_SIGNAL;\n"
+" sev.sigev_signo = SIG;\n"
+" sev.sigev_value.sival_ptr = &timerid;\n"
+" if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
+" errExit(\"timer_create\");\n"
+"\\&\n"
+" printf(\"timer ID is %#jx\\en\", (uintmax_t) timerid);\n"
+"\\&\n"
+" /* Start the timer. */\n"
+"\\&\n"
+" freq_nanosecs = atoll(argv[2]);\n"
+" its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
+" its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
+" its.it_interval.tv_sec = its.it_value.tv_sec;\n"
+" its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
+"\\&\n"
+" if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
+" errExit(\"timer_settime\");\n"
+"\\&\n"
+" /* Sleep for a while; meanwhile, the timer may expire\n"
+" multiple times. */\n"
+"\\&\n"
+" printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
+" sleep(atoi(argv[1]));\n"
+"\\&\n"
+" /* Unlock the timer signal, so that timer notification\n"
+" can be delivered. */\n"
+"\\&\n"
+" printf(\"Unblocking signal %d\\en\", SIG);\n"
+" if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
+" errExit(\"sigprocmask\");\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 fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), "
+"B<timer_getoverrun>(2), B<timer_settime>(2), B<timerfd_create>(2), "
+"B<clock_getcpuclockid>(3), B<pthread_getcpuclockid>(3), B<pthreads>(7), "
+"B<sigevent>(3type), B<signal>(7), B<time>(7)"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A system-wide clock derived from wall-clock time but ignoring leap seconds."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<sevp> argument points to a I<sigevent> structure that specifies how "
+"the caller should be notified when the timer expires. For the definition "
+"and general details of this structure, see B<sigevent>(7)."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Upon timer expiration, generate the signal I<sigev_signo> for the process. "
+"See B<sigevent>(7) for general details. The I<si_code> field of the "
+"I<siginfo_t> structure will be set to B<SI_TIMER>. At any point in time, at "
+"most one signal is queued to the process for a given timer; see "
+"B<timer_getoverrun>(2) for more details."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
+"start function of a new thread. See B<sigevent>(7) for details."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "This system call is available since Linux 2.6."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "POSIX.1-2001, POSIX.1-2008."
+msgstr ""
+
+#. glibc commit 93a78ac437ba44f493333d7e2a4b0249839ce460
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"The POSIX timers system calls first appeared in Linux 2.6. Prior to this, "
+"glibc provided an incomplete user-space implementation (B<CLOCK_REALTIME> "
+"timers only) using POSIX threads, and before glibc 2.17, the implementation "
+"falls back to this technique on systems running kernels older than Linux 2.6."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdint.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define CLOCKID CLOCK_REALTIME\n"
+"#define SIG SIGRTMIN\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void\n"
+"print_siginfo(siginfo_t *si)\n"
+"{\n"
+" int or;\n"
+" timer_t *tidp;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " tidp = si-E<gt>si_value.sival_ptr;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\" sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
+" printf(\" *sival_ptr = %#jx\\en\", (uintmax_t) *tidp);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" or = timer_getoverrun(*tidp);\n"
+" if (or == -1)\n"
+" errExit(\"timer_getoverrun\");\n"
+" else\n"
+" printf(\" overrun count = %d\\en\", or);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void\n"
+"handler(int sig, siginfo_t *si, void *uc)\n"
+"{\n"
+" /* Note: calling printf() from a signal handler is not safe\n"
+" (and should not be done in production programs), since\n"
+" printf() is not async-signal-safe; see signal-safety(7).\n"
+" Nevertheless, we use printf() here as a simple way of\n"
+" showing that the handler was called. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Caught signal %d\\en\", sig);\n"
+" print_siginfo(si);\n"
+" signal(sig, SIG_IGN);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" timer_t timerid;\n"
+" sigset_t mask;\n"
+" long long freq_nanosecs;\n"
+" struct sigevent sev;\n"
+" struct sigaction sa;\n"
+" struct itimerspec its;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Establish handler for timer signal. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Establishing handler for signal %d\\en\", SIG);\n"
+" sa.sa_flags = SA_SIGINFO;\n"
+" sa.sa_sigaction = handler;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" if (sigaction(SIG, &sa, NULL) == -1)\n"
+" errExit(\"sigaction\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Block timer signal temporarily. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Blocking signal %d\\en\", SIG);\n"
+" sigemptyset(&mask);\n"
+" sigaddset(&mask, SIG);\n"
+" if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
+" errExit(\"sigprocmask\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Create the timer. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" sev.sigev_notify = SIGEV_SIGNAL;\n"
+" sev.sigev_signo = SIG;\n"
+" sev.sigev_value.sival_ptr = &timerid;\n"
+" if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
+" errExit(\"timer_create\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " printf(\"timer ID is %#jx\\en\", (uintmax_t) timerid);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Start the timer. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" freq_nanosecs = atoll(argv[2]);\n"
+" its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
+" its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
+" its.it_interval.tv_sec = its.it_value.tv_sec;\n"
+" its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
+" errExit(\"timer_settime\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Sleep for a while; meanwhile, the timer may expire\n"
+" multiple times. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
+" sleep(atoi(argv[1]));\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Unlock the timer signal, so that timer notification\n"
+" can be delivered. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Unblocking signal %d\\en\", SIG);\n"
+" if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
+" errExit(\"sigprocmask\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), "
+"B<timer_getoverrun>(2), B<timer_settime>(2), B<timerfd_create>(2), "
+"B<clock_getcpuclockid>(3), B<pthread_getcpuclockid>(3), B<pthreads>(7), "
+"B<sigevent>(7), B<signal>(7), B<time>(7)"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-05-03"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""