summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/setjmp.3.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man3/setjmp.3.po')
-rw-r--r--po/ru/man3/setjmp.3.po760
1 files changed, 760 insertions, 0 deletions
diff --git a/po/ru/man3/setjmp.3.po b/po/ru/man3/setjmp.3.po
new file mode 100644
index 00000000..0ba3547d
--- /dev/null
+++ b/po/ru/man3/setjmp.3.po
@@ -0,0 +1,760 @@
+# Russian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Alexander Golubev <fatzer2@gmail.com>, 2018.
+# Azamat Hackimov <azamat.hackimov@gmail.com>, 2011, 2014-2016.
+# Hotellook, 2014.
+# Nikita <zxcvbnm3230@mail.ru>, 2014.
+# Spiros Georgaras <sng@hellug.gr>, 2016.
+# Vladislav <ivladislavefimov@gmail.com>, 2015.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019.
+# Иван Павлов <pavia00@gmail.com>, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 17:07+0100\n"
+"PO-Revision-Date: 2019-10-15 18:55+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 "setjmp"
+msgstr ""
+
+#. 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 "setjmp, sigsetjmp, longjmp, siglongjmp - performing a nonlocal goto"
+msgstr "setjmp, sigsetjmp, longjmp, siglongjmp - выполняет нелокальный переход"
+
+#. 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>setjmp.hE<gt>>\n"
+msgstr "B<#include E<lt>setjmp.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 setjmp(jmp_buf >I<env>B<);>\n"
+"B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>B<);>\n"
+msgstr ""
+"B<int setjmp(jmp_buf >I<env>B<);>\n"
+"B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>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<void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n"
+#| "B<void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n"
+msgid ""
+"B<[[noreturn]] void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n"
+"B<[[noreturn]] void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n"
+msgstr ""
+"B<void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n"
+"B<void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n"
+
+#. 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 ""
+"Требования макроса тестирования свойств для glibc (см. "
+"B<feature_test_macros>(7)):"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<setjmp>(): see NOTES."
+msgstr "B<setjmp>(): смотрите ЗАМЕЧАНИЯ."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "B<sigset>(3)"
+msgid "B<sigsetjmp>():"
+msgstr "B<sigset>(3)"
+
+#. 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\n"
+msgstr " _POSIX_C_SOURCE\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 ""
+"The functions described on this page are used for performing \"nonlocal "
+"gotos\": transferring execution from one function to a predetermined "
+"location in another function. The B<setjmp>() function dynamically "
+"establishes the target to which control will later be transferred, and "
+"B<longjmp>() performs the transfer of execution."
+msgstr ""
+"Функции, описываемые в этой странице, используются для выполнения "
+"«нелокального goto»: передачи исполнения из одной функции в заранее "
+"определённое место другой. Функция B<setjmp>() динамически устанавливает "
+"точку для будущей передачи исполнения, а B<longjmp>() выполняет передачу "
+"исполнения."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<setjmp>() function saves various information about the calling "
+"environment (typically, the stack pointer, the instruction pointer, possibly "
+"the values of other registers and the signal mask) in the buffer I<env> for "
+"later use by B<longjmp>(). In this case, B<setjmp>() returns 0."
+msgstr ""
+"Функция B<setjmp>() сохраняет различную информацию об окружении вызова "
+"(обычно, указатель стека, указатель инструкции, значения других регистров и "
+"маску сигналов) в буфер I<env> для последующего использования в "
+"B<longjmp>(). В этом случае B<setjmp>() возвращает 0."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<longjmp>() function uses the information saved in I<env> to transfer "
+"control back to the point where B<setjmp>() was called and to restore "
+"(\"rewind\") the stack to its state at the time of the B<setjmp>() call. "
+"In addition, and depending on the implementation (see NOTES), the values of "
+"some other registers and the process signal mask may be restored to their "
+"state at the time of the B<setjmp>() call."
+msgstr ""
+"Функция B<longjmp>() использует информацию, сохранённую в I<env>, для "
+"передачи управления обратно в точку, откуда была вызвана B<setjmp>(), и "
+"восстанавливает («отматывает») стек до состояния на время вызова "
+"B<setjmp>(). Также, в зависимости от реализации (смотрите ЗАМЕЧАНИЯ), "
+"значения некоторых регистров маска сигналов процесса могут быть "
+"восстановлены в их состояние на момент вызова B<setjmp>()."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Following a successful B<longjmp>(), execution continues as if B<setjmp>() "
+"had returned for a second time. This \"fake\" return can be distinguished "
+"from a true B<setjmp>() call because the \"fake\" return returns the value "
+"provided in I<val>. If the programmer mistakenly passes the value 0 in "
+"I<val>, the \"fake\" return will instead return 1."
+msgstr ""
+"После успешного вызова B<longjmp>() выполнение продолжается как если бы "
+"B<setjmp>() была вызвана второй раз. Этот «фиктивный» возврат можно "
+"распознать от настоящего вызова B<setjmp>(), так как «фиктивный» возврат "
+"возвращает значение, указанное в I<val>. Если программист ошибочно передаст "
+"значение 0 в I<val>, то «фиктивный» возврат вернёт вместо него 1."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "sigsetjmp() and siglongjmp()"
+msgstr "sigsetjmp() и siglongjmp()"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<sigsetjmp>() and B<siglongjmp>() also perform nonlocal gotos, but "
+"provide predictable handling of the process signal mask."
+msgstr ""
+"Функции B<sigsetjmp>() и B<siglongjmp>() также выполняют нелокальные "
+"переходы, но предоставляют предсказуемую обработку сигнальной маски процесса."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If, and only if, the I<savesigs> argument provided to B<sigsetjmp>() is "
+"nonzero, the process's current signal mask is saved in I<env> and will be "
+"restored if a B<siglongjmp>() is later performed with this I<env>."
+msgstr ""
+"Если, и только если, аргумент I<savesigs>, передаваемый в B<sigsetjmp>(), не "
+"равен нулю, то текущая маска сигналов процесса сохраняется в I<env> и будет "
+"восстановлена, если позднее будет запущена B<siglongjmp>() с этим I<env>."
+
+#. 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 ""
+"B<setjmp>() and B<sigsetjmp>() return 0 when called directly; on the "
+"\"fake\" return that occurs after B<longjmp>() or B<siglongjmp>(), the "
+"nonzero value specified in I<val> is returned."
+msgstr ""
+"Функции B<setjmp>() и B<sigsetjmp>() возвращают 0, если вызывают явно; при "
+"«фиктивном» возврате, который возникает после B<longjmp>() или "
+"B<siglongjmp>(), возвращается ненулевое значение, указанное в I<val>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The B<longjmp>() or B<siglongjmp>() functions do not return."
+msgstr "Функции B<longjmp>() и B<siglongjmp>() не выполняют возврат."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "АТРИБУТЫ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr "Описание терминов данного раздела смотрите в B<attributes>(7)."
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr "Интерфейс"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr "Атрибут"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr "Значение"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ".na\n"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ".nh\n"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<setjmp>(),\n"
+"B<sigsetjmp>()"
+msgstr ""
+"B<setjmp>(),\n"
+"B<sigsetjmp>()"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr "Безвредность в нитях"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe"
+msgstr "MT-Safe"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<longjmp>(),\n"
+"B<siglongjmp>()"
+msgstr ""
+"B<longjmp>(),\n"
+"B<siglongjmp>()"
+
+#. 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: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<sigset>(3)"
+msgid "B<setjmp>()"
+msgstr "B<sigset>(3)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<sigset>(3)"
+msgid "B<longjmp>()"
+msgstr "B<sigset>(3)"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "C11, POSIX.1-2008."
+msgstr "C11, POSIX.1-2008."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<sigset>(3)"
+msgid "B<sigsetjmp>()"
+msgstr "B<sigset>(3)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<sigset>(3)"
+msgid "B<siglongjmp>()"
+msgstr "B<sigset>(3)"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr "POSIX.1-2008."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "ИСТОРИЯ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001, C89."
+msgstr "POSIX.1-2001, C89."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001."
+msgstr "POSIX.1-2001."
+
+#. so that _FAVOR_BSD is triggered
+#. .BR _XOPEN_SOURCE_EXTENDED ,
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "POSIX does not specify whether B<setjmp>() will save the signal mask (to "
+#| "be later restored during B<longjmp>()). In System V it will not. In "
+#| "4.3BSD it will, and there is a function B<_setjmp>() that will not. The "
+#| "behavior under Linux depends on the glibc version and the setting of "
+#| "feature test macros. On Linux with glibc versions before 2.19, "
+#| "B<setjmp>() follows the System V behavior by default, but the BSD "
+#| "behavior is provided if the B<_BSD_SOURCE> feature test macro is "
+#| "explicitly defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, "
+#| "B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined. Since "
+#| "glibc 2.19, I<E<lt>setjmp.hE<gt>> exposes only the System V version of "
+#| "B<setjmp>(). Programs that need the BSD semantics should replace calls "
+#| "to B<setjmp>() with calls to B<sigsetjmp>() with a nonzero I<savesigs> "
+#| "argument."
+msgid ""
+"POSIX does not specify whether B<setjmp>() will save the signal mask (to be "
+"later restored during B<longjmp>()). In System V it will not. In 4.3BSD it "
+"will, and there is a function B<_setjmp>() that will not. The behavior "
+"under Linux depends on the glibc version and the setting of feature test "
+"macros. Before glibc 2.19, B<setjmp>() follows the System V behavior by "
+"default, but the BSD behavior is provided if the B<_BSD_SOURCE> feature test "
+"macro is explicitly defined and none of B<_POSIX_SOURCE>, "
+"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, or B<_SVID_SOURCE> is "
+"defined. Since glibc 2.19, I<E<lt>setjmp.hE<gt>> exposes only the System V "
+"version of B<setjmp>(). Programs that need the BSD semantics should replace "
+"calls to B<setjmp>() with calls to B<sigsetjmp>() with a nonzero "
+"I<savesigs> argument."
+msgstr ""
+"В POSIX не уточняется, должна ли B<setjmp>() сохранять сигнальную маску "
+"(чтобы позднее восстановить её при B<longjmp>()). В System V — не должна. В "
+"4.3BSD сохранение выполняется и есть функция B<_setjmp>, в которой этого не "
+"происходит. Поведение в Linux зависит от версии glibc и установленных "
+"макросов тестирования свойств. В Linux с glibc до версии 2.19 функция "
+"B<setjmp>() по умолчанию ведёт себя как в System V, но можно включить "
+"поведение как в BSD, если определить макрос тестирования свойств "
+"B<_BSD_SOURCE> и будут не определены B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, "
+"B<_XOPEN_SOURCE>, B<_GNU_SOURCE> или B<_SVID_SOURCE>. Начиная с glibc 2.19, "
+"в I<E<lt>setjmp.hE<gt>> представляется только версия System V для "
+"B<setjmp>(). Если в программе нужно задействовать семантику BSD, замените "
+"вызовы B<setjmp>() на вызовы B<sigsetjmp>() с ненулевым аргументом "
+"I<savesigs>."
+
+#. 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 ""
+"B<setjmp>() and B<longjmp>() can be useful for dealing with errors inside "
+"deeply nested function calls or to allow a signal handler to pass control to "
+"a specific point in the program, rather than returning to the point where "
+"the handler interrupted the main program. In the latter case, if you want "
+"to portably save and restore signal masks, use B<sigsetjmp>() and "
+"B<siglongjmp>(). See also the discussion of program readability below."
+msgstr ""
+"Функции B<setjmp>() и B<longjmp>() можно использовать для обработки ошибок "
+"внутри глубоко вложенных вызовов функций или чтобы позволить обработчику "
+"сигналов передать управление в определённую точку программы, и не возвращать "
+"исполнение главной программе в точку прерывания обработчиком. В последнем "
+"случае, если вы хотите сохранить и восстановить маску сигналов переносимым "
+"образом, то используйте B<sigsetjmp>() и B<siglongjmp>(). Также смотрите "
+"раздел про читаемость программы далее."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "CAVEATS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The compiler may optimize variables into registers, and B<longjmp>() may "
+"restore the values of other registers in addition to the stack pointer and "
+"program counter. Consequently, the values of automatic variables are "
+"unspecified after a call to B<longjmp>() if they meet all the following "
+"criteria:"
+msgstr ""
+"Компилятор может оптимизировать переменные в регистрах и B<longjmp>() может "
+"восстановить значения регистров помимо указателя стека и счётчика программы. "
+"Следовательно, значения автоматических переменных непредсказуемы после "
+"вызова B<longjmp>(), если они удовлетворяют следующим критериям:"
+
+#. 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 ""
+"they are local to the function that made the corresponding B<setjmp>() call;"
+msgstr ""
+"они локальны для функции, которая сделала соответствующий вызов B<setjmp>();"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"their values are changed between the calls to B<setjmp>() and B<longjmp>(); "
+"and"
+msgstr "их значения изменились между вызовами B<setjmp>() и B<longjmp>(); и"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "they are not declared as I<volatile>."
+msgstr "они не объявлены как I<volatile>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Analogous remarks apply for B<siglongjmp>()."
+msgstr "Аналогичные замечания относятся и к B<siglongjmp>()."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Nonlocal gotos and program readability"
+msgstr "Нелокальные переходы и читаемость программы"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"While it can be abused, the traditional C \"goto\" statement at least has "
+"the benefit that lexical cues (the goto statement and the target label) "
+"allow the programmer to easily perceive the flow of control. Nonlocal gotos "
+"provide no such cues: multiple B<setjmp>() calls might employ the same "
+"I<jmp_buf> variable so that the content of the variable may change over the "
+"lifetime of the application. Consequently, the programmer may be forced to "
+"perform detailed reading of the code to determine the dynamic target of a "
+"particular B<longjmp>() call. (To make the programmer's life easier, each "
+"B<setjmp>() call should employ a unique I<jmp_buf> variable.)"
+msgstr ""
+"Хотя этим и можно злоупотребить, обычный оператор C «goto» имеет "
+"преимущество в виде лексических отметок (оператор goto и метка перехода), "
+"которые позволяют программисту легко понять поток выполнения. Нелокальные "
+"переходы не имеют таких отметок: многократные вызовы B<setjmp>() могут "
+"использовать одну переменную I<jmp_buf>, то есть контекст переменной может "
+"изменяться на протяжении времени работы приложения. Следовательно, "
+"программисту придёт вчитываться в код для определения динамической точки "
+"перехода определённого вызова B<longjmp>() (для облегчения жизни "
+"программиста в каждом вызове B<setjmp>() должна использоваться уникальная "
+"переменная I<jmp_buf>)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Adding further difficulty, the B<setjmp>() and B<longjmp>() calls may not "
+"even be in the same source code module."
+msgstr ""
+"Дополнительная сложность: вызовы B<setjmp>() и B<longjmp>() даже могут быть "
+"в разных модулях исходного кода."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In summary, nonlocal gotos can make programs harder to understand and "
+"maintain, and an alternative should be used if possible."
+msgstr ""
+"Таким образом, нелокальные переходы могут сделать программу тяжелее для "
+"понимания и поддержки, и, если это возможно, нужно использовать "
+"альтернативные варианты."
+
+#. type: SS
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Undefined Behavior"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the function which called B<setjmp>() returns before B<longjmp>() is "
+"called, the behavior is undefined. Some kind of subtle or unsubtle chaos is "
+"sure to result."
+msgstr ""
+"Если функция, вызвавшая B<setjmp>() завершилась до вызова B<longjmp>(), то "
+"поведение не определено. Результатом может стать маленький (или не очень) "
+"хаос."
+
+#. The following statement appeared in versions up to POSIX.1-2008 TC1,
+#. but is set to be removed in POSIX.1-2008 TC2:
+#. According to POSIX.1, if a
+#. .BR longjmp ()
+#. call is performed from a nested signal handler
+#. (i.e., from a handler that was invoked in response to a signal that was
+#. generated while another signal was already in the process of being
+#. handled), the behavior is undefined.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If, in a multithreaded program, a B<longjmp>() call employs an I<env> "
+"buffer that was initialized by a call to B<setjmp>() in a different thread, "
+"the behavior is undefined."
+msgstr ""
+"Если в многонитевой программе вызов B<longjmp>() использует буфер I<env>, "
+"инициализированный вызовом B<setjmp>() в другой нити, то поведение не "
+"определено."
+
+#. http://austingroupbugs.net/view.php?id=516#c1195
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"POSIX.1-2008 Technical Corrigendum 2 adds B<longjmp>() and B<siglongjmp>() "
+"to the list of async-signal-safe functions. However, the standard "
+"recommends avoiding the use of these functions from signal handlers and goes "
+"on to point out that if these functions are called from a signal handler "
+"that interrupted a call to a non-async-signal-safe function (or some "
+"equivalent, such as the steps equivalent to B<exit>(3) that occur upon a "
+"return from the initial call to I<main>()), the behavior is undefined if the "
+"program subsequently makes a call to a non-async-signal-safe function. The "
+"only way of avoiding undefined behavior is to ensure one of the following:"
+msgstr ""
+"В POSIX.1-2008 Technical Corrigendum 2 вызовы B<longjmp>() и B<siglongjmp>() "
+"добавлены в список функций async-signal-safe. Однако стандарт рекомендует "
+"избегать использования этих функций в обработчиках сигналов и указывает, что "
+"если эти функции вызваны из обработчика сигналов, который прервал вызов "
+"функции не async-signal-safe (или её эквивалент, например шагам B<exit>(3), "
+"который возникают при возврате из начального вызова I<main>()), то "
+"поведение не определено, если программа далее вызывает функцию не async-"
+"signal-safe. Единственным способом избежать неопределённого поведения, "
+"является проверка следующего:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"After long jumping from the signal handler, the program does not call any "
+"non-async-signal-safe functions and does not return from the initial call to "
+"I<main>()."
+msgstr ""
+"После длинного перехода из обработчика сигналов программа не вызывает каких-"
+"либо функций не async-signal-safe и не возвращается из первоначального "
+"вызова в I<main>()."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Any signal whose handler performs a long jump must be blocked during "
+"I<every> call to a non-async-signal-safe function and no non-async-signal-"
+"safe functions are called after returning from the initial call to I<main>()."
+msgstr ""
+"Любой сигнал, чей обработчик выполняет длинный переход, должен быть "
+"заблокирован на время I<каждого> вызова функции не async-signal-safe и не "
+"вызывать функции не async-signal-safe после возврата из начального вызова в "
+"I<main>()."
+
+#. 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<signal>(7), B<signal-safety>(7)"
+msgstr "B<signal>(7), B<signal-safety>(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: Plain text
+#: debian-bookworm
+#, fuzzy
+#| msgid "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C89, C99."
+msgid "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C99."
+msgstr "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C89, C99."
+
+#. type: Plain text
+#: debian-bookworm
+msgid "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008."
+msgstr "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008."
+
+#. type: SS
+#: debian-bookworm
+#, no-wrap
+msgid "Caveats"
+msgstr "Предостережения"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr "20 июля 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"