summaryrefslogtreecommitdiffstats
path: root/templates/man2/semop.2.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man2/semop.2.pot')
-rw-r--r--templates/man2/semop.2.pot825
1 files changed, 825 insertions, 0 deletions
diff --git a/templates/man2/semop.2.pot b/templates/man2/semop.2.pot
new file mode 100644
index 00000000..898f3fb9
--- /dev/null
+++ b/templates/man2/semop.2.pot
@@ -0,0 +1,825 @@
+# 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:07+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 "semop"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+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 "semop, semtimedop - System V semaphore operations"
+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 "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/sem.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 semop(int >I<semid>B<, struct sembuf *>I<sops>B<, size_t >I<nsops>B<);>\n"
+"B<int semtimedop(int >I<semid>B<, struct sembuf *>I<sops>B<, size_t >I<nsops>B<,>\n"
+"B< const struct timespec *_Nullable >I<timeout>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<semtimedop>():"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid " _GNU_SOURCE\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 ""
+"Each semaphore in a System\\ V semaphore set has the following associated "
+"values:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"unsigned short semval; /* semaphore value */\n"
+"unsigned short semzcnt; /* # waiting for zero */\n"
+"unsigned short semncnt; /* # waiting for increase */\n"
+"pid_t sempid; /* PID of process that last\n"
+" modified the semaphore value */\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<semop>() performs operations on selected semaphores in the set indicated "
+"by I<semid>. Each of the I<nsops> elements in the array pointed to by "
+"I<sops> is a structure that specifies an operation to be performed on a "
+"single semaphore. The elements of this structure are of type I<struct "
+"sembuf>, containing the following members:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"unsigned short sem_num; /* semaphore number */\n"
+"short sem_op; /* semaphore operation */\n"
+"short sem_flg; /* operation flags */\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Flags recognized in I<sem_flg> are B<IPC_NOWAIT> and B<SEM_UNDO>. If an "
+"operation specifies B<SEM_UNDO>, it will be automatically undone when the "
+"process terminates."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The set of operations contained in I<sops> is performed in I<array order>, "
+"and I<atomically>, that is, the operations are performed either as a "
+"complete unit, or not at all. The behavior of the system call if not all "
+"operations can be performed immediately depends on the presence of the "
+"B<IPC_NOWAIT> flag in the individual I<sem_flg> fields, as noted below."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Each operation is performed on the I<sem_num>-th semaphore of the semaphore "
+"set, where the first semaphore of the set is numbered 0. There are three "
+"types of operation, distinguished by the value of I<sem_op>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<sem_op> is a positive integer, the operation adds this value to the "
+"semaphore value (I<semval>). Furthermore, if B<SEM_UNDO> is specified for "
+"this operation, the system subtracts the value I<sem_op> from the semaphore "
+"adjustment (I<semadj>) value for this semaphore. This operation can always "
+"proceed\\[em]it never forces a thread to wait. The calling process must "
+"have alter permission on the semaphore set."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<sem_op> is zero, the process must have read permission on the semaphore "
+"set. This is a \"wait-for-zero\" operation: if I<semval> is zero, the "
+"operation can immediately proceed. Otherwise, if B<IPC_NOWAIT> is specified "
+"in I<sem_flg>, B<semop>() fails with I<errno> set to B<EAGAIN> (and none of "
+"the operations in I<sops> is performed). Otherwise, I<semzcnt> (the count "
+"of threads waiting until this semaphore's value becomes zero) is "
+"incremented by one and the thread sleeps until one of 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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<semval> becomes 0, at which time the value of I<semzcnt> is decremented."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The semaphore set is removed: B<semop>() fails, with I<errno> set to "
+"B<EIDRM>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The calling thread catches a signal: the value of I<semzcnt> is decremented "
+"and B<semop>() fails, with I<errno> set to B<EINTR>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<sem_op> is less than zero, the process must have alter permission on "
+"the semaphore set. If I<semval> is greater than or equal to the absolute "
+"value of I<sem_op>, the operation can proceed immediately: the absolute "
+"value of I<sem_op> is subtracted from I<semval>, and, if B<SEM_UNDO> is "
+"specified for this operation, the system adds the absolute value of "
+"I<sem_op> to the semaphore adjustment (I<semadj>) value for this "
+"semaphore. If the absolute value of I<sem_op> is greater than I<semval>, "
+"and B<IPC_NOWAIT> is specified in I<sem_flg>, B<semop>() fails, with "
+"I<errno> set to B<EAGAIN> (and none of the operations in I<sops> is "
+"performed). Otherwise, I<semncnt> (the counter of threads waiting for this "
+"semaphore's value to increase) is incremented by one and the thread sleeps "
+"until one of the following occurs:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<semval> becomes greater than or equal to the absolute value of I<sem_op>: "
+"the operation now proceeds, as described above."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The semaphore set is removed from the system: B<semop>() fails, with "
+"I<errno> set to B<EIDRM>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The calling thread catches a signal: the value of I<semncnt> is decremented "
+"and B<semop>() fails, with I<errno> set to B<EINTR>."
+msgstr ""
+
+#. and
+#. .I sem_ctime
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On successful completion, the I<sempid> value for each semaphore specified "
+"in the array pointed to by I<sops> is set to the caller's process ID. In "
+"addition, the I<sem_otime> is set to the current time."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "semtimedop()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<semtimedop>() behaves identically to B<semop>() except that in those "
+"cases where the calling thread would sleep, the duration of that sleep is "
+"limited by the amount of elapsed time specified by the I<timespec> structure "
+"whose address is passed in the I<timeout> argument. (This sleep interval "
+"will be rounded up to the system clock granularity, and kernel scheduling "
+"delays mean that the interval may overrun by a small amount.) If the "
+"specified time limit has been reached, B<semtimedop>() fails with I<errno> "
+"set to B<EAGAIN> (and none of the operations in I<sops> is performed). If "
+"the I<timeout> argument is NULL, then B<semtimedop>() behaves exactly like "
+"B<semop>()."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Note that if B<semtimedop>() is interrupted by a signal, causing the call "
+"to fail with the error B<EINTR>, the contents of I<timeout> are left "
+"unchanged."
+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<semop>() and B<semtimedop>() return 0. On failure, they "
+"return -1, and set I<errno> 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<E2BIG>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The argument I<nsops> is greater than B<SEMOPM>, the maximum number of "
+"operations allowed per system call."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EACCES>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The calling process does not have the permissions required to perform the "
+"specified semaphore operations, and does not have the B<CAP_IPC_OWNER> "
+"capability in the user namespace that governs its IPC namespace."
+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 ""
+"An operation could not proceed immediately and either B<IPC_NOWAIT> was "
+"specified in I<sem_flg> or the time limit specified in I<timeout> expired."
+msgstr ""
+
+#. 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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"An address specified in either the I<sops> or the I<timeout> argument isn't "
+"accessible."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EFBIG>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For some operation the value of I<sem_num> is less than 0 or greater than or "
+"equal to the number of semaphores in the set."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EIDRM>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The semaphore set was removed."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINTR>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"While blocked in this system call, the thread caught a signal; see "
+"B<signal>(7)."
+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 ""
+"The semaphore set doesn't exist, or I<semid> is less than zero, or I<nsops> "
+"has a nonpositive value."
+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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<sem_flg> of some operation specified B<SEM_UNDO> and the system does "
+"not have enough memory to allocate the undo structure."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ERANGE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For some operation I<sem_op+semval> is greater than B<SEMVMX>, the "
+"implementation dependent maximum value for I<semval>."
+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-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC.
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Linux 2.5.52 (backported into Linux 2.4.22), glibc 2.3.3. POSIX.1-2001, "
+"SVr4."
+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 ""
+"The I<sem_undo> structures of a process aren't inherited by the child "
+"produced by B<fork>(2), but they are inherited across an B<execve>(2) "
+"system call."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<semop>() is never automatically restarted after being interrupted by a "
+"signal handler, regardless of the setting of the B<SA_RESTART> flag when "
+"establishing a signal handler."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A semaphore adjustment (I<semadj>) value is a per-process, per-semaphore "
+"integer that is the negated sum of all operations performed on a semaphore "
+"specifying the B<SEM_UNDO> flag. Each process has a list of I<semadj> "
+"values\\[em]one value for each semaphore on which it has operated using "
+"B<SEM_UNDO>. When a process terminates, each of its per-semaphore I<semadj> "
+"values is added to the corresponding semaphore, thus undoing the effect of "
+"that process's operations on the semaphore (but see BUGS below). When a "
+"semaphore's value is directly set using the B<SETVAL> or B<SETALL> request "
+"to B<semctl>(2), the corresponding I<semadj> values in all processes are "
+"cleared. The B<clone>(2) B<CLONE_SYSVSEM> flag allows more than one "
+"process to share a I<semadj> list; see B<clone>(2) for details."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<semval>, I<sempid>, I<semzcnt>, and I<semnct> values for a semaphore "
+"can all be retrieved using appropriate B<semctl>(2) calls."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Semaphore limits"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following limits on semaphore set resources affect the B<semop>() call:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SEMOPM>"
+msgstr ""
+
+#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4
+#. This /proc file is not available in Linux 2.2 and earlier -- MTK
+#. See comment in Linux 3.19 source file include/uapi/linux/sem.h
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Maximum number of operations allowed for one B<semop>() call. Before Linux "
+"3.19, the default value for this limit was 32. Since Linux 3.19, the "
+"default value is 500. On Linux, this limit can be read and modified via the "
+"third field of I</proc/sys/kernel/sem>. I<Note>: this limit should not be "
+"raised above 1000, because of the risk of that B<semop>() fails due to "
+"kernel memory fragmentation when allocating memory to copy the I<sops> array."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SEMVMX>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Maximum allowable value for I<semval>: implementation dependent (32767)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The implementation has no intrinsic limits for the adjust on exit maximum "
+"value (B<SEMAEM>), the system wide maximum number of undo structures "
+"(B<SEMMNU>) and the per-process maximum number of undo entries system "
+"parameters."
+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 ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When a process terminates, its set of associated I<semadj> structures is "
+"used to undo the effect of all of the semaphore operations it performed with "
+"the B<SEM_UNDO> flag. This raises a difficulty: if one (or more) of these "
+"semaphore adjustments would result in an attempt to decrease a semaphore's "
+"value below zero, what should an implementation do? One possible approach "
+"would be to block until all the semaphore adjustments could be performed. "
+"This is however undesirable since it could force process termination to "
+"block for arbitrarily long periods. Another possibility is that such "
+"semaphore adjustments could be ignored altogether (somewhat analogously to "
+"failing when B<IPC_NOWAIT> is specified for a semaphore operation). Linux "
+"adopts a third approach: decreasing the semaphore value as far as possible "
+"(i.e., to zero) and allowing process termination to proceed immediately."
+msgstr ""
+
+#. The bug report:
+#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2
+#. the fix:
+#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In Linux 2.6.x, x E<lt>= 10, there is a bug that in some circumstances "
+"prevents a thread that is waiting for a semaphore value to become zero from "
+"being woken up when the value does actually become zero. This bug is fixed "
+"in Linux 2.6.11."
+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 following code segment uses B<semop>() to atomically wait for the value "
+"of semaphore 0 to become zero, and then increment the semaphore value by one."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sembuf sops[2];\n"
+"int semid;\n"
+"\\&\n"
+"/* Code to set I<semid> omitted */\n"
+"\\&\n"
+"sops[0].sem_num = 0; /* Operate on semaphore 0 */\n"
+"sops[0].sem_op = 0; /* Wait for value to equal 0 */\n"
+"sops[0].sem_flg = 0;\n"
+"\\&\n"
+"sops[1].sem_num = 0; /* Operate on semaphore 0 */\n"
+"sops[1].sem_op = 1; /* Increment value by one */\n"
+"sops[1].sem_flg = 0;\n"
+"\\&\n"
+"if (semop(semid, sops, 2) == -1) {\n"
+" perror(\"semop\");\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A further example of the use of B<semop>() can be found in B<shmop>(2)."
+msgstr ""
+
+#. 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<clone>(2), B<semctl>(2), B<semget>(2), B<sigaction>(2), "
+"B<capabilities>(7), B<sem_overview>(7), B<sysvipc>(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
+msgid ""
+"B<semtimedop>() first appeared in Linux 2.5.52, and was subsequently "
+"backported into Linux 2.4.22. glibc support for B<semtimedop>() first "
+"appeared in Linux 2.3.3."
+msgstr ""
+
+#. SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC.
+#. type: Plain text
+#: debian-bookworm
+msgid "POSIX.1-2001, POSIX.1-2008, SVr4."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"struct sembuf sops[2];\n"
+"int semid;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "/* Code to set I<semid> omitted */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"sops[0].sem_num = 0; /* Operate on semaphore 0 */\n"
+"sops[0].sem_op = 0; /* Wait for value to equal 0 */\n"
+"sops[0].sem_flg = 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"sops[1].sem_num = 0; /* Operate on semaphore 0 */\n"
+"sops[1].sem_op = 1; /* Increment value by one */\n"
+"sops[1].sem_flg = 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"if (semop(semid, sops, 2) == -1) {\n"
+" perror(\"semop\");\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+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 ""