# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Alexander Golubev , 2018. # Azamat Hackimov , 2011, 2014-2016. # Hotellook, 2014. # Nikita , 2014. # Spiros Georgaras , 2016. # Vladislav , 2015. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:21+0200\n" "PO-Revision-Date: 2019-10-15 18:55+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \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 debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. 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, 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 Esetjmp.hE>\n" msgstr "B<#include Esetjmp.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<);>\n" "BIB<, int >IB<);>\n" msgstr "" "BIB<);>\n" "BIB<, int >IB<);>\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 "" #| "BIB<, int >IB<);>\n" #| "BIB<, int >IB<);>\n" msgid "" "B<[[noreturn]] void longjmp(jmp_buf >IB<, int >IB<);>\n" "B<[[noreturn]] void siglongjmp(sigjmp_buf >IB<, int >IB<);>\n" msgstr "" "BIB<, int >IB<);>\n" "BIB<, int >IB<);>\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(7)):" msgstr "" "Требования макроса тестирования свойств для glibc (см. " "B(7)):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(): see NOTES." msgstr "B(): смотрите ЗАМЕЧАНИЯ." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "B(3)" msgid "B():" msgstr "B(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() function dynamically establishes the " "target to which control will later be transferred, and B() " "performs the transfer of execution." msgstr "" "Функции, описываемые в этой странице, используются для выполнения " "«нелокального goto»: передачи исполнения из одной функции в заранее " "определённое место другой. Функция B() динамически устанавливает " "точку для будущей передачи исполнения, а B() выполняет передачу " "исполнения." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() 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 for " "later use by B(). In this case, B() returns 0." msgstr "" "Функция B() сохраняет различную информацию об окружении вызова " "(обычно, указатель стека, указатель инструкции, значения других регистров и " "маску сигналов) в буфер I для последующего использования в " "B(). В этом случае B() возвращает 0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function uses the information saved in I to transfer " "control back to the point where B() was called and to restore " "(\"rewind\") the stack to its state at the time of the B() 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() call." msgstr "" "Функция B() использует информацию, сохранённую в I, для " "передачи управления обратно в точку, откуда была вызвана B(), и " "восстанавливает («отматывает») стек до состояния на время вызова " "B(). Также, в зависимости от реализации (смотрите ЗАМЕЧАНИЯ), " "значения некоторых регистров маска сигналов процесса могут быть " "восстановлены в их состояние на момент вызова B()." #. 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(), execution continues as if B() " "had returned for a second time. This \"fake\" return can be distinguished " "from a true B() call because the \"fake\" return returns the value " "provided in I. If the programmer mistakenly passes the value 0 in " "I, the \"fake\" return will instead return 1." msgstr "" "После успешного вызова B() выполнение продолжается как если бы " "B() была вызвана второй раз. Этот «фиктивный» возврат можно " "распознать от настоящего вызова B(), так как «фиктивный» возврат " "возвращает значение, указанное в I. Если программист ошибочно передаст " "значение 0 в I, то «фиктивный» возврат вернёт вместо него 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() and B() also perform nonlocal gotos, but " "provide predictable handling of the process signal mask." msgstr "" "Функции B() и B() также выполняют нелокальные " "переходы, но предоставляют предсказуемую обработку сигнальной маски процесса." #. 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 argument provided to B() is " "nonzero, the process's current signal mask is saved in I and will be " "restored if a B() is later performed with this I." msgstr "" "Если, и только если, аргумент I, передаваемый в B(), не " "равен нулю, то текущая маска сигналов процесса сохраняется в I и будет " "восстановлена, если позднее будет запущена B() с этим I." #. 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() and B() return 0 when called directly; on the \"fake" "\" return that occurs after B() or B(), the nonzero " "value specified in I is returned." msgstr "" "Функции B() и B() возвращают 0, если вызывают явно; при " "«фиктивном» возврате, который возникает после B() или " "B(), возвращается ненулевое значение, указанное в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The B() or B() functions do not return." msgstr "Функции B() и B() не выполняют возврат." #. 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(7)." msgstr "Описание терминов данного раздела смотрите в B(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(),\n" "B()" msgstr "" "B(),\n" "B()" #. 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(),\n" "B()" msgstr "" "B(),\n" "B()" #. 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(3)" msgid "B()" msgstr "B(3)" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B(3)" msgid "B()" msgstr "B(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(3)" msgid "B()" msgstr "B(3)" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B(3)" msgid "B()" msgstr "B(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() will save the signal mask (to " #| "be later restored during B()). 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() 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, Isetjmp.hE> exposes only the System V version of " #| "B(). Programs that need the BSD semantics should replace calls " #| "to B() with calls to B() with a nonzero I " #| "argument." msgid "" "POSIX does not specify whether B() will save the signal mask (to be " "later restored during B()). 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() 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, Isetjmp.hE> exposes only the System V " "version of B(). Programs that need the BSD semantics should replace " "calls to B() with calls to B() with a nonzero " "I argument." msgstr "" "В POSIX не уточняется, должна ли B() сохранять сигнальную маску " "(чтобы позднее восстановить её при B()). В System V — не должна. В " "4.3BSD сохранение выполняется и есть функция B<_setjmp>, в которой этого не " "происходит. Поведение в Linux зависит от версии glibc и установленных " "макросов тестирования свойств. В Linux с glibc до версии 2.19 функция " "B() по умолчанию ведёт себя как в 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, " "в Isetjmp.hE> представляется только версия System V для " "B(). Если в программе нужно задействовать семантику BSD, замените " "вызовы B() на вызовы B() с ненулевым аргументом " "I." #. 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() and B() 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() and " "B(). See also the discussion of program readability below." msgstr "" "Функции B() и B() можно использовать для обработки ошибок " "внутри глубоко вложенных вызовов функций или чтобы позволить обработчику " "сигналов передать управление в определённую точку программы, и не возвращать " "исполнение главной программе в точку прерывания обработчиком. В последнем " "случае, если вы хотите сохранить и восстановить маску сигналов переносимым " "образом, то используйте B() и B(). Также смотрите " "раздел про читаемость программы далее." #. 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() 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() if they meet all the following " "criteria:" msgstr "" "Компилятор может оптимизировать переменные в регистрах и B() может " "восстановить значения регистров помимо указателя стека и счётчика программы. " "Следовательно, значения автоматических переменных непредсказуемы после " "вызова B(), если они удовлетворяют следующим критериям:" #. 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() call;" msgstr "" "они локальны для функции, которая сделала соответствующий вызов B();" #. 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() and B(); " "and" msgstr "их значения изменились между вызовами B() и B(); и" #. 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." msgstr "они не объявлены как I." #. 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()." msgstr "Аналогичные замечания относятся и к B()." #. 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() calls might employ the same " "I 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() call. (To make the programmer's life easier, each " "B() call should employ a unique I variable.)" msgstr "" "Хотя этим и можно злоупотребить, обычный оператор C «goto» имеет " "преимущество в виде лексических отметок (оператор goto и метка перехода), " "которые позволяют программисту легко понять поток выполнения. Нелокальные " "переходы не имеют таких отметок: многократные вызовы B() могут " "использовать одну переменную I, то есть контекст переменной может " "изменяться на протяжении времени работы приложения. Следовательно, " "программисту придёт вчитываться в код для определения динамической точки " "перехода определённого вызова B() (для облегчения жизни " "программиста в каждом вызове B() должна использоваться уникальная " "переменная I)." #. 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() and B() calls may not " "even be in the same source code module." msgstr "" "Дополнительная сложность: вызовы B() и B() даже могут быть " "в разных модулях исходного кода." #. 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() returns before B() is " "called, the behavior is undefined. Some kind of subtle or unsubtle chaos is " "sure to result." msgstr "" "Если функция, вызвавшая B() завершилась до вызова B(), то " "поведение не определено. Результатом может стать маленький (или не очень) " "хаос." #. 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() call employs an I " "buffer that was initialized by a call to B() in a different thread, " "the behavior is undefined." msgstr "" "Если в многонитевой программе вызов B() использует буфер I, " "инициализированный вызовом B() в другой нити, то поведение не " "определено." #. 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() and B() " "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(3) that occur upon a " "return from the initial call to I
()), 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() и B() " "добавлены в список функций async-signal-safe. Однако стандарт рекомендует " "избегать использования этих функций в обработчиках сигналов и указывает, что " "если эти функции вызваны из обработчика сигналов, который прервал вызов " "функции не async-signal-safe (или её эквивалент, например шагам B(3), " "который возникают при возврате из начального вызова I
()), то " "поведение не определено, если программа далее вызывает функцию не 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
()." msgstr "" "После длинного перехода из обработчика сигналов программа не вызывает каких-" "либо функций не async-signal-safe и не возвращается из первоначального " "вызова в I
()." #. 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 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
()." msgstr "" "Любой сигнал, чей обработчик выполняет длинный переход, должен быть " "заблокирован на время I<каждого> вызова функции не async-signal-safe и не " "вызывать функции не async-signal-safe после возврата из начального вызова в " "I
()." #. 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(7), B(7)" msgstr "B(7), B(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(), B(): POSIX.1-2001, POSIX.1-2008, C89, C99." msgid "B(), B(): POSIX.1-2001, POSIX.1-2008, C99." msgstr "B(), B(): POSIX.1-2001, POSIX.1-2008, C89, C99." #. type: Plain text #: debian-bookworm msgid "B(), B(): POSIX.1-2001, POSIX.1-2008." msgstr "B(), B(): POSIX.1-2001, POSIX.1-2008." #. type: SS #: debian-bookworm #, no-wrap msgid "Caveats" msgstr "Предостережения" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. 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" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"