# 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:22+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 #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "sigaltstack" msgstr "sigaltstack" #. 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 #: opensuse-leap-15-6 opensuse-tumbleweed msgid "sigaltstack - set and/or get signal stack context" msgstr "sigaltstack - считывает или устанавливает расположение стека сигналов" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: 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 #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Esignal.hE>\n" msgstr "B<#include Esignal.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, stack_t *restrict >IB<);>\n" msgid "" "BIB<,>\n" "B< stack_t *_Nullable restrict >IB<);>\n" msgstr "BIB<, stack_t *restrict >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: 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 #: opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" msgstr "B():" #. || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" " _XOPEN_SOURCE E= 500\n" " || /* Since glibc 2.12: */ _POSIX_C_SOURCE E= 200809L\n" " || /* glibc E= 2.19: */ _BSD_SOURCE\n" msgstr "" " _XOPEN_SOURCE E= 500\n" " || /* начиная с glibc 2.12: */ _POSIX_C_SOURCE E= 200809L\n" " || /* glibc E= 2.19: */ _BSD_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 #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B() allows a process to define a new alternate signal stack " #| "and/or retrieve the state of an existing alternate signal stack. An " #| "alternate signal stack is used during the execution of a signal handler " #| "if the establishment of that handler (see B(2)) requested it." msgid "" "B() allows a thread to define a new alternate signal stack and/" "or retrieve the state of an existing alternate signal stack. An alternate " "signal stack is used during the execution of a signal handler if the " "establishment of that handler (see B(2)) requested it." msgstr "" "Вызов B() позволяет процессу определить новый альтернативный " "стек сигналов и/или получить состояние уже имеющегося альтернативного стека " "сигналов. Альтернативный стек сигналов используется при выполнении " "обработчика сигналов, если он был запрошен при установлении обработчика (см. " "B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The normal sequence of events for using an alternate signal stack is the " "following:" msgstr "" "Обычный порядок действий для использования альтернативного стека сигналов:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "1." msgstr "1." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Allocate an area of memory to be used for the alternate signal stack." msgstr "" "Выделить область памяти, которая будет использована под альтернативный стек " "сигналов." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "2." msgstr "2." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Use B() to inform the system of the existence and location of " "the alternate signal stack." msgstr "" "Вызвать B() для информирования системы о существовании и " "расположении альтернативного стека сигналов." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "3." msgstr "3." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When establishing a signal handler using B(2), inform the system " "that the signal handler should be executed on the alternate signal stack by " "specifying the B flag." msgstr "" "При установке обработчика сигналов с помощью B(2) (флагом " "B) сообщить системе, что обработчик сигналов должен выполняться " "с альтернативным стеком сигналов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is used to specify a new alternate signal stack, while " "the I argument is used to retrieve information about the currently " "established signal stack. If we are interested in performing just one of " "these tasks, then the other argument can be specified as NULL." msgstr "" "Аргумент I используется для указания нового альтернативного стека " "сигналов, а аргумент I используется для получения информации об " "установленном в данный момент стеке сигналов. Если интересует какая-то одна " "из этих задач, то другой аргумент указывается как NULL." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I type used to type the arguments of this function is defined " "as follows:" msgstr "" "Тип I, используемый для аргументов этой функции, определён " "следующим образом:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "typedef struct {\n" " void *ss_sp; /* Base address of stack */\n" " int ss_flags; /* Flags */\n" " size_t ss_size; /* Number of bytes in stack */\n" "} stack_t;\n" msgstr "" "typedef struct {\n" " void *ss_sp; /* базовый адрес стека */\n" " int ss_flags; /* флаги */\n" " size_t ss_size; /* количество байт в стеке */\n" "} stack_t;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To establish a new alternate signal stack, the fields of this structure are " "set as follows:" msgstr "" "Для организации нового альтернативного стека сигналов поля этой структуры " "должны быть заполнены следующим образом:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "This field contains either 0, or the following flag:" msgstr "В этом поле содержится 0 или следующий флаг:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.7)" msgstr "B (начиная с Linux 4.7)" #. commit 2a74213838104a41588d86fd5e8d344972891ace #. See tools/testing/selftests/sigaltstack/sas.c in kernel sources #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Clear the alternate signal stack settings on entry to the signal handler. " "When the signal handler returns, the previous alternate signal stack " "settings are restored." msgstr "" "Очистить настройки альтернативного стека сигналов в записи обработчика " "сигналов. Когда происходит возврат из обработчика сигналов, " "восстанавливаются предыдущие настройки альтернативного стека сигналов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag was added in order to make it safe to switch away from the signal " "handler with B(3). Without this flag, a subsequently handled " "signal will corrupt the state of the switched-away signal handler. On " "kernels where this flag is not supported, B() fails with the " "error B when this flag is supplied." msgstr "" "Этот флаг был добавлен для безопасного переключения из обработчика сигналов " "с помощью B(3). Без этого флага следующий обрабатываемый сигнал " "повредит состояние обработчика сигналов, в который выполняется переключение " "(switched-away). В ядрах без поддержки этого флага вызов B() " "завершается ошибкой B, если этот флаг указан." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This field specifies the starting address of the stack. When a signal " "handler is invoked on the alternate stack, the kernel automatically aligns " "the address given in I to a suitable address boundary for the " "underlying hardware architecture." msgstr "" "Это поле задаёт начальный адрес стека. При вызове обработчика сигнала с " "альтернативным стеком ядро автоматически выравнивает адрес, указанный в I, по границе адреса, подходящей для используемой аппаратной платформы." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This field specifies the size of the stack. The constant B is " "defined to be large enough to cover the usual size requirements for an " "alternate signal stack, and the constant B defines the minimum " "size required to execute a signal handler." msgstr "" "В этом поле задаётся размер стека. Для определения альтернативного стека " "сигналов достаточного размера можно использовать константу B, а " "для выделения стека минимального размера можно указать константу " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To disable an existing stack, specify I as B. In " "this case, the kernel ignores any other flags in I and the " "remaining fields in I." msgstr "" "Для отключения существующего стека, укажите в I значение " "B. В этом случае ядро игнорирует все флаги в I и " "остальные поля в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is not NULL, then it is used to return information about the " "alternate signal stack which was in effect prior to the call to " "B(). The I and I fields return " "the starting address and size of that stack. The I may " "return either of the following values:" msgstr "" "Если I не равно NULL, то в нём возвращается информация об " "альтернативном стеке сигналов, который использовался до этого вызова " "B(). В полях I и I возвращаются " "начальный адрес и размер стека. В I может быть возвращено " "одно из следующих значений:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The process is currently executing on the alternate signal stack. (Note " #| "that it is not possible to change the alternate signal stack if the " #| "process is currently executing on it.)" msgid "" "The thread is currently executing on the alternate signal stack. (Note that " "it is not possible to change the alternate signal stack if the thread is " "currently executing on it.)" msgstr "" "В данный момент альтернативный стек сигналов используется процессом " "(заметим, что в этот момент невозможно изменить альтернативный стек " "сигналов)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "The alternate signal stack is currently disabled." msgstr "В данный момент альтернативный стек сигналов выключен." #. FIXME Was it intended that one can set up a different alternative #. signal stack in this scenario? (In passing, if one does this, the #. sigaltstack(NULL, &old_ss) now returns old_ss.ss_flags==SS_AUTODISARM #. rather than old_ss.ss_flags==SS_DISABLE. The API design here seems #. confusing... #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Alternatively, this value is returned if the process is currently " #| "executing on an alternate signal stack that was established using the " #| "B flag. In this case, it is safe to switch away from the " #| "signal handler with B(3). It is also possible to set up a " #| "different alternative signal stack using a further call to " #| "B()." msgid "" "Alternatively, this value is returned if the thread is currently executing " "on an alternate signal stack that was established using the B " "flag. In this case, it is safe to switch away from the signal handler with " "B(3). It is also possible to set up a different alternative " "signal stack using a further call to B()." msgstr "" "Также это значение возвращается, если процесс уже выполняется с " "альтернативным стеком сигналов, установленным с помощью флага " "B. В этом случае с помощью B(3) можно безопасно " "переключаться в другой обработчик сигналов. Также возможно установить другой " "альтернативный стек сигналов с помощью последующего вызова B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The alternate signal stack has been marked to be autodisarmed as described " "above." msgstr "" "Альтернативный стек сигналов был помечен к автоматической очистке " "(autodisarmed), как описывалось ранее." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By specifying I as NULL, and I as a non-NULL value, one can " "obtain the current settings for the alternate signal stack without changing " "them." msgstr "" "Если присвоить I значение NULL,а I — не NULL, то можно получить " "текущие настройки альтернативного стека сигналов без его изменения." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() returns 0 on success, or -1 on failure with I set " "to indicate the error." msgstr "" "При успешном выполнении B() возвращается 0. В случае ошибки " "возвращается -1, а I устанавливается в соответствующее значение." #. 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 #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Either I or I is not NULL and points to an area outside of the " "process's address space." msgstr "" "Значение I или I не равно NULL и указывает за пределы адресного " "пространства процесса." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "I is not NULL and the I field contains an invalid flag." msgstr "" "Значение I не равно NULL и в поле I содержится некорректный " "флаг." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The specified size of the new alternate signal stack I was less " "than B." msgstr "" "Указанный размер нового альтернативного стека сигналов I меньше " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "An attempt was made to change the alternate signal stack while it was " #| "active (i.e., the process was already executing on the current alternate " #| "signal stack)." msgid "" "An attempt was made to change the alternate signal stack while it was active " "(i.e., the thread was already executing on the current alternate signal " "stack)." msgstr "" "Была попытка изменить альтернативный стек сигналов при его активности (т. е. " "текущий альтернативный стек сигналов уже задействован при выполнении " "процесса)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "АТРИБУТЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: 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 #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Интерфейс" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Атрибут" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Значение" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Безвредность в нитях" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. 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 opensuse-leap-15-6 #: opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-leap-15-6 #: opensuse-tumbleweed #, fuzzy #| msgid "The B flag is a Linux extension." msgid "B is a Linux extension." msgstr "Флаг B является расширением Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-leap-15-6 #: opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-leap-15-6 #: opensuse-tumbleweed #, fuzzy #| msgid "POSIX.1-2001, POSIX.1-2008, SUSv2, SVr4." msgid "POSIX.1-2001, SUSv2, SVr4." msgstr "POSIX.1-2001, POSIX.1-2008, SUSv2, SVr4." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ПРИМЕЧАНИЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The most common usage of an alternate signal stack is to handle the " #| "B signal that is generated if the space available for the normal " #| "process stack is exhausted: in this case, a signal handler for B " #| "cannot be invoked on the process stack; if we wish to handle it, we must " #| "use an alternate signal stack." msgid "" "The most common usage of an alternate signal stack is to handle the " "B signal that is generated if the space available for the standard " "stack is exhausted: in this case, a signal handler for B cannot be " "invoked on the standard stack; if we wish to handle it, we must use an " "alternate signal stack." msgstr "" "В основном, альтернативный стек сигналов используется при обработке сигнала " "B, который возникает при нехватке свободного места в обычном стеке " "процесса: в этом случае обработчик сигнала B не может использовать " "стек процесса; если требуется обработка данного сигнала, нужно использовать " "альтернативный стек сигналов." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Establishing an alternate signal stack is useful if a process expects " #| "that it may exhaust its standard stack. This may occur, for example, " #| "because the stack grows so large that it encounters the upwardly growing " #| "heap, or it reaches a limit established by a call to " #| "B. If the standard stack is exhausted, " #| "the kernel sends the process a B signal. In these circumstances " #| "the only way to catch this signal is on an alternate signal stack." msgid "" "Establishing an alternate signal stack is useful if a thread expects that it " "may exhaust its standard stack. This may occur, for example, because the " "stack grows so large that it encounters the upwardly growing heap, or it " "reaches a limit established by a call to B<\\%setrlimit(RLIMIT_STACK, " "&rlim)>. If the standard stack is exhausted, the kernel sends the thread a " "B signal. In these circumstances the only way to catch this signal " "is on an alternate signal stack." msgstr "" "Назначение альтернативного стека сигналов полезно, если ожидается, что " "процесс может задействовать весь свой обычный стек. Это может случиться, " "например, когда стек становится настолько большим, что он встречается с " "растущей в вверх «кучей», или достигает ограничения, заданного вызовом " "B. Если стандартный стек закончился, то ядро " "посылает процессу сигнал B. В этих условиях единственным способом " "поймать сигнал будет задействование альтернативного стека сигналов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On most hardware architectures supported by Linux, stacks grow downward. " "B() automatically takes account of the direction of stack " "growth." msgstr "" "На большинстве аппаратных архитектур, поддерживаемых Linux, стеки растут " "сверху вниз. Вызов B() автоматически учтёт направление роста " "стека." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Functions called from a signal handler executing on an alternate signal " #| "stack will also use the alternate signal stack. (This also applies to " #| "any handlers invoked for other signals while the process is executing on " #| "the alternate signal stack.) Unlike the standard stack, the system does " #| "not automatically extend the alternate signal stack. Exceeding the " #| "allocated size of the alternate signal stack will lead to unpredictable " #| "results." msgid "" "Functions called from a signal handler executing on an alternate signal " "stack will also use the alternate signal stack. (This also applies to any " "handlers invoked for other signals while the thread is executing on the " "alternate signal stack.) Unlike the standard stack, the system does not " "automatically extend the alternate signal stack. Exceeding the allocated " "size of the alternate signal stack will lead to unpredictable results." msgstr "" "Функции, вызываемые из обработчика сигналов исполняемого с использованием " "альтернативного стека сигналов, также будут использовать альтернативный стек " "сигналов (это также применимо к любым обработчикам, вызванным по другим " "сигналам в то время как процесс выполняется с альтернативным стеком " "сигналов). В отличие от стандартного стека система автоматически не " "расширяет альтернативный стек сигналов. Превышение выделенного размера " "альтернативного стека сигналов приведёт к непредсказуемым результатам." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A successful call to B(2) removes any existing alternate signal " "stack. A child process created via B(2) inherits a copy of its " "parent's alternate signal stack settings. The same is also true for a child " "process created using B(2), unless the clone flags include " "B and do not include B, in which case any alternate " "signal stack that was established in the parent is disabled in the child " "process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() supersedes the older B() call. For backward " "compatibility, glibc also provides B(). All new applications " "should be written using B()." msgstr "" "Вызов B() заменяет устаревший вызов B(). Для обратной " "совместимости в glibc также есть функция B(). Во всех новых " "приложениях нужно использовать B()." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "History" msgstr "История" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "4.2BSD had a B() system call. It used a slightly different " "struct, and had the major disadvantage that the caller had to know the " "direction of stack growth." msgstr "" "Системный вызов B() появился в 4.2BSD. В нём использовалась слегка " "другая структура, и его главным недостатком было то, что вызывающий должен " "был учитывать направления роста стека." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "ОШИБКИ" #. Linux 2.3.40 #. After quite a bit of web and mail archive searching, #. I could not find the patch on any mailing list, and I #. could find no place where the rationale for this change #. explained -- mtk #. See the source code of Illumos and FreeBSD, for example. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In Linux 2.2 and earlier, the only flag that could be specified in I was B. In the lead up to the release of the Linux 2.4 " "kernel, a change was made to allow B() to allow I with the same meaning as I (i.e., the " "inclusion of B in I is a no-op). On other " "implementations, and according to POSIX.1, B appears only as a " "reported flag in I. On Linux, there is no need ever to " "specify B in I, and indeed doing so should be " "avoided on portability grounds: various other systems give an error if " "B is specified in I." msgstr "" "В Linux 2.2 и старее в I можно указывать только флаг " "B. В версиях до ядра Linux 2.4 разрешалось B() " "допускать I с тем же смыслом как I " "(т. е., при включении B в I ни к чему не " "приводило). В других реализациях и согласно POSIX.1 флаг B " "появляется в I только как флаг результата. В Linux его не " "нужно даже указывать в I, иначе это снизит переносимость, так " "как некоторые системы выдают ошибку, если в I указан " "B." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following code segment demonstrates the use of B() (and " "B(2)) to install an alternate signal stack that is employed by a " "handler for the B signal:" msgstr "" "В следующем сегменте кода показано использование B() (и " "B(2)) для установки альтернативного стека сигналов, который " "используется обработчиком для сигнала B:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "sa.sa_flags = SA_ONSTACK;\n" #| "sa.sa_handler = handler(); /* Address of a signal handler */\n" #| "sigemptyset(&sa.sa_mask);\n" #| "if (sigaction(SIGSEGV, &sa, NULL) == -1) {\n" #| " perror(\"sigaction\");\n" #| " exit(EXIT_FAILURE);\n" #| "}\n" msgid "" "stack_t ss;\n" "\\&\n" "ss.ss_sp = malloc(SIGSTKSZ);\n" "if (ss.ss_sp == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" "}\n" "\\&\n" "ss.ss_size = SIGSTKSZ;\n" "ss.ss_flags = 0;\n" "if (sigaltstack(&ss, NULL) == -1) {\n" " perror(\"sigaltstack\");\n" " exit(EXIT_FAILURE);\n" "}\n" "\\&\n" "sa.sa_flags = SA_ONSTACK;\n" "sa.sa_handler = handler(); /* Address of a signal handler */\n" "sigemptyset(&sa.sa_mask);\n" "if (sigaction(SIGSEGV, &sa, NULL) == -1) {\n" " perror(\"sigaction\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" "sa.sa_flags = SA_ONSTACK;\n" "sa.sa_handler = handler(); /* адрес обработчика сигналов */\n" "sigemptyset(&sa.sa_mask);\n" "if (sigaction(SIGSEGV, &sa, NULL) == -1) {\n" " perror(\"sigaction\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. 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 #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(3), " "B(3), B(7)" msgstr "" "B(2), B(2), B(2), B(3), " "B(3), 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 msgid "POSIX.1-2001, POSIX.1-2008, SUSv2, SVr4." msgstr "POSIX.1-2001, POSIX.1-2008, SUSv2, SVr4." #. type: Plain text #: debian-bookworm msgid "The B flag is a Linux extension." msgstr "Флаг B является расширением Linux." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy #| msgid "" #| "Establishing an alternate signal stack is useful if a process expects " #| "that it may exhaust its standard stack. This may occur, for example, " #| "because the stack grows so large that it encounters the upwardly growing " #| "heap, or it reaches a limit established by a call to " #| "B. If the standard stack is exhausted, " #| "the kernel sends the process a B signal. In these circumstances " #| "the only way to catch this signal is on an alternate signal stack." msgid "" "Establishing an alternate signal stack is useful if a thread expects that it " "may exhaust its standard stack. This may occur, for example, because the " "stack grows so large that it encounters the upwardly growing heap, or it " "reaches a limit established by a call to B. " "If the standard stack is exhausted, the kernel sends the thread a B " "signal. In these circumstances the only way to catch this signal is on an " "alternate signal stack." msgstr "" "Назначение альтернативного стека сигналов полезно, если ожидается, что " "процесс может задействовать весь свой обычный стек. Это может случиться, " "например, когда стек становится настолько большим, что он встречается с " "растущей в вверх «кучей», или достигает ограничения, заданного вызовом " "B. Если стандартный стек закончился, то ядро " "посылает процессу сигнал B. В этих условиях единственным способом " "поймать сигнал будет задействование альтернативного стека сигналов." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "stack_t ss;\n" msgstr "stack_t ss;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "ss.ss_sp = malloc(SIGSTKSZ);\n" "if (ss.ss_sp == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" "ss.ss_sp = malloc(SIGSTKSZ);\n" "if (ss.ss_sp == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "ss.ss_size = SIGSTKSZ;\n" "ss.ss_flags = 0;\n" "if (sigaltstack(&ss, NULL) == -1) {\n" " perror(\"sigaltstack\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" "ss.ss_size = SIGSTKSZ;\n" "ss.ss_flags = 0;\n" "if (sigaltstack(&ss, NULL) == -1) {\n" " perror(\"sigaltstack\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "sa.sa_flags = SA_ONSTACK;\n" "sa.sa_handler = handler(); /* Address of a signal handler */\n" "sigemptyset(&sa.sa_mask);\n" "if (sigaction(SIGSEGV, &sa, NULL) == -1) {\n" " perror(\"sigaction\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" "sa.sa_flags = SA_ONSTACK;\n" "sa.sa_handler = handler(); /* адрес обработчика сигналов */\n" "sigemptyset(&sa.sa_mask);\n" "if (sigaction(SIGSEGV, &sa, NULL) == -1) {\n" " perror(\"sigaction\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. type: TH #: fedora-40 fedora-rawhide #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 #, 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 #: mageia-cauldron #, no-wrap msgid "SIGALTSTACK" msgstr "SIGALTSTACK" #. type: TH #: mageia-cauldron #, fuzzy, no-wrap #| msgid "September 2020" msgid "20 September 1999" msgstr "сен 2020" #. type: TH #: mageia-cauldron #, no-wrap msgid "Red Hat Linux 6.1" msgstr "Red Hat Linux 6.1" #. type: TH #: mageia-cauldron #, no-wrap msgid "Linux Programmer's Manual" msgstr "Руководство программиста Linux" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "sigaltstack - set and/or get signal stack context" msgid "sigaltstack - get or set alternate signal stack content" msgstr "sigaltstack - считывает или устанавливает расположение стека сигналов" #. type: Plain text #: mageia-cauldron msgid "B<#include Esignal.hE>" msgstr "B<#include Esignal.hE>" #. type: Plain text #: mageia-cauldron msgid "BIB< stack_t *>IB<);>" msgstr "BIB< stack_t *>IB<);>" #. type: Plain text #: mageia-cauldron msgid "where:" msgstr "где:" #. type: TP #: mageia-cauldron #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: mageia-cauldron msgid "" "points to a signalstack structure defined in Esignal.hE containing " "stack content after the call." msgstr "" #. type: TP #: mageia-cauldron #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: mageia-cauldron msgid "" "if not NULL, points to a signalstack structure containing stack content " "before the call." msgstr "" #. type: Plain text #: mageia-cauldron msgid "" "I(2) may indicate that a signal should execute on an alternate " "stack. Where this is the case, B(2) stores the signal in an " "alternate stack structure I where its execution status may be examined " "prior to processing." msgstr "" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "The I structure is defined in Igrp.hE> as follows:" msgid "The sigaltstack struct is defined in Esignal.hE as follows:" msgstr "Структура I определена в Igrp.hE> следующим образом:" #. type: Plain text #: mageia-cauldron #, no-wrap msgid "" " void *ss_sp /* SVID3 uses caddr_t ss_sp\n" " int ss_flags\n" " size_t ss_size\n" msgstr "" #. type: TP #: mageia-cauldron #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "The stat structure" msgid "points to the stack structure." msgstr "Структура stat" #. type: TP #: mageia-cauldron #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: mageia-cauldron msgid "specifies the stack state to SS_DISABLE or SS_ONSTACK as follows:" msgstr "" #. type: Plain text #: mageia-cauldron msgid "" "If I is not NULL,the new state may be set to SS_DISABLE, which specifies " "that the stack is to be disabled and ss_sp and ss_size are ignored. If " "SS_DISABLE is not set, the stack will be enabled." msgstr "" #. type: Plain text #: mageia-cauldron msgid "" "If I is not NULL, the stack state may be either SS_ONSTACK or " "SS_DISABLE. The value SS_ONSTACK indicates that the process is currently " "executing on the alternate stack and that any attempt to modify it during " "execution will fail. The value SS_DISABLE indicates that the current signal " "stack is disabled." msgstr "" #. type: TP #: mageia-cauldron #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: mageia-cauldron msgid "specifies the size of the stack." msgstr "" #. type: Plain text #: mageia-cauldron msgid "" "The value SIGSTKSZ defines the average number of bytes used when allocating " "an alternate stack area. The value MINSIGSTKSZ defines the minimum stack " "size for a signal handler. When processing an alternate stack size, your " "program should include these values in the stack requirement to plan for the " "overhead of the operating system." msgstr "" #. type: SH #: mageia-cauldron #, no-wrap msgid "RETURN VALUES" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "" #| "B() returns 0 on success, or -1 on failure with I " #| "set to indicate the error." msgid "B(2) returns 0 on success and -1 on failure." msgstr "" "При успешном выполнении B() возвращается 0. В случае ошибки " "возвращается -1, а I устанавливается в соответствующее значение." #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "" #| "B() returns a file descriptor that supports the following " #| "operations:" msgid "B(2) sets errno for the following conditions:" msgstr "" "Вызов B() возвращает файловый дескриптор, который поддерживает " "следующие операции:" #. type: TP #: mageia-cauldron #, no-wrap msgid "EINVAL" msgstr "EINVAL" #. type: Plain text #: mageia-cauldron msgid "" "I is not a null pointer the I member pointed to by I " "contains flags other than SS_DISABLE." msgstr "" #. type: TP #: mageia-cauldron #, no-wrap msgid "ENOMEM" msgstr "ENOMEM" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "" #| "The specified size of the new alternate signal stack I was " #| "less than B." msgid "The size of the alternate stack area is less than MINSIGSTKSZ." msgstr "" "Указанный размер нового альтернативного стека сигналов I меньше " "B." #. type: TP #: mageia-cauldron #, no-wrap msgid "EPERM" msgstr "EPERM" #. type: Plain text #: mageia-cauldron #, fuzzy #| msgid "" #| "An attempt was to made to B() a I that does not exist." msgid "An attempt was made to modify an active stack." msgstr "" "Была сделана попытка выполнить B() для несуществующего I." #. type: Plain text #: mageia-cauldron msgid "This function comforms to: XPG4-UNIX." msgstr "" #. Add ucontext(5) and standards(5) if/when they're written. #. type: Plain text #: mageia-cauldron msgid "B(2), B(2), B(3)." msgstr "B(2), B(2), B(3)." #. 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"