diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ru/man3/makecontext.3.po | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man3/makecontext.3.po')
-rw-r--r-- | po/ru/man3/makecontext.3.po | 781 |
1 files changed, 781 insertions, 0 deletions
diff --git a/po/ru/man3/makecontext.3.po b/po/ru/man3/makecontext.3.po new file mode 100644 index 00000000..698a21b5 --- /dev/null +++ b/po/ru/man3/makecontext.3.po @@ -0,0 +1,781 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# aereiae <aereiae@gmail.com>, 2014. +# Alexey <a.chepugov@gmail.com>, 2015. +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2013-2017. +# Dmitriy S. Seregin <dseregin@59.ru>, 2013. +# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017. +# ITriskTI <ITriskTI@gmail.com>, 2013. +# Max Is <ismax799@gmail.com>, 2016. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +# Малянов Евгений Викторович <maljanow@outlook.com>, 2014. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:00+0100\n" +"PO-Revision-Date: 2019-10-06 08:59+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 +#, fuzzy, no-wrap +#| msgid "B<makecontext>()" +msgid "makecontext" +msgstr "B<makecontext>()" + +#. 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 "makecontext, swapcontext - manipulate user context" +msgstr "makecontext, swapcontext - управляет пользовательским контекстом" + +#. 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 +#, fuzzy, no-wrap +#| msgid "B<#include E<lt>ucontext.hE<gt>>" +msgid "B<#include E<lt>ucontext.hE<gt>>\n" +msgstr "B<#include E<lt>ucontext.hE<gt>>" + +#. 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 makecontext(ucontext_t *>I<ucp>B<, void (*>I<func>B<)(),> B<int >I<argc>B<, ...);>" +msgid "" +"B<void makecontext(ucontext_t *>I<ucp>B<, void (*>I<func>B<)(), int >I<argc>B<, ...);>\n" +"B<int swapcontext(ucontext_t *restrict >I<oucp>B<,>\n" +"B< const ucontext_t *restrict >I<ucp>B<);>\n" +msgstr "B<void makecontext(ucontext_t *>I<ucp>B<, void (*>I<func>B<)(),> B<int >I<argc>B<, ...);>" + +#. 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 +#, fuzzy +#| msgid "" +#| "In a System V-like environment, one has the type I<ucontext_t> defined in " +#| "I<E<lt>ucontext.hE<gt>> and the four functions B<getcontext>(3), " +#| "B<setcontext>(3), B<makecontext>() and B<swapcontext>() that allow user-" +#| "level context switching between multiple threads of control within a " +#| "process." +msgid "" +"In a System V-like environment, one has the type I<ucontext_t> (defined in " +"I<E<lt>ucontext.hE<gt>> and described in B<getcontext>(3)) and the four " +"functions B<getcontext>(3), B<setcontext>(3), B<makecontext>(), and " +"B<swapcontext>() that allow user-level context switching between multiple " +"threads of control within a process." +msgstr "" +"В окружении, подобном SysV, имеется тип данных I<mcontext_t>, определённый в " +"файле I<E<lt>ucontext.hE<gt>>, и четыре функции — B<getcontext>(3), " +"B<setcontext>(3), B<makecontext>() и B<swapcontext>(), которые позволяют " +"контексту пользовательского уровня переключаться между несколькими нитями " +"внутри одного процесса." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<makecontext>() function modifies the context pointed to by I<ucp> " +"(which was obtained from a call to B<getcontext>(3)). Before invoking " +"B<makecontext>(), the caller must allocate a new stack for this context and " +"assign its address to I<ucp-E<gt>uc_stack>, and define a successor context " +"and assign its address to I<ucp-E<gt>uc_link>." +msgstr "" +"Функция B<makecontext>() изменяет контекст, на который указывает I<ucp> " +"(полученный из вызова B<getcontext>(3)). Перед вызовом B<makecontext>(), " +"вызывающий должен выделить новый стек для этого контекста и присвоить его " +"адрес I<ucp-E<gt>uc_stack>, и определить последующий контекст и присвоить " +"его адрес I<ucp-E<gt>uc_link>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When this context is later activated (using B<setcontext>(3) or " +"B<swapcontext>()) the function I<func> is called, and passed the series of " +"integer (I<int>) arguments that follow I<argc>; the caller must specify the " +"number of these arguments in I<argc>. When this function returns, the " +"successor context is activated. If the successor context pointer is NULL, " +"the thread exits." +msgstr "" +"Позднее, когда этот контекст активируется (с помощью B<setcontext>(3) или " +"B<swapcontext>()), вызывается функция I<func> и ей передаётся набор " +"целочисленных аргументов (I<int>), указанных после I<argc>; вызывающий " +"должен указать количество этих аргументов в I<argc>. После возврата из " +"функции активируется последующий контекст. Если указатель последующего " +"контекста равен NULL, то нить завершается." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<swapcontext>() function saves the current context in the structure " +"pointed to by I<oucp>, and then activates the context pointed to by I<ucp>." +msgstr "" +"Функция B<swapcontext>() сохраняет текущий контекст в структуру, на которую " +"указывает I<oucp>, и после этого активирует контекст, на который указывает " +"I<ucp>." + +#. 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 +#, fuzzy +#| msgid "" +#| "When successful, B<swapcontext>() does not return. (But we may return " +#| "later, in case I<oucp> is activated, in which case it looks like " +#| "B<swapcontext>() returns 0.) On error, B<swapcontext>() returns -1 and " +#| "sets I<errno> appropriately." +msgid "" +"When successful, B<swapcontext>() does not return. (But we may return " +"later, in case I<oucp> is activated, in which case it looks like " +"B<swapcontext>() returns 0.) On error, B<swapcontext>() returns -1 and " +"sets I<errno> to indicate the error." +msgstr "" +"При успешном выполнении B<swapcontext>() не возвращает выполнение (но мы " +"можем вернуться позднее при активации I<oucp> и это будет выглядеть как если " +"бы B<swapcontext>() вернула 0). При ошибке B<swapcontext>() возвращает -1 и " +"изменяет I<errno> соответствующим образом." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ОШИБКИ" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "B<ENOMEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Insufficient stack space left." +msgstr "Осталось недостаточно стекового пространства." + +#. 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<makecontext>()" +msgstr "B<makecontext>()" + +#. 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 race:ucp" +msgstr "MT-Safe race:ucp" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<swapcontext>()" +msgstr "B<swapcontext>()" + +#. 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 race:oucp race:ucp" +msgstr "MT-Safe race:oucp race:ucp" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "None" +msgid "None." +msgstr "None" + +#. 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 +#, fuzzy +#| msgid "" +#| "SUSv2, POSIX.1-2001. POSIX.1-2008 removes the specifications of " +#| "B<makecontext>() and B<swapcontext>(), citing portability issues, and " +#| "recommending that applications be rewritten to use POSIX threads instead." +msgid "" +"glibc 2.1. SUSv2, POSIX.1-2001. Removed in POSIX.1-2008, citing " +"portability issues, and recommending that applications be rewritten to use " +"POSIX threads instead." +msgstr "" +"SUSv2, POSIX.1-2001. В POSIX.1-2008 удалены определения B<makecontext>() и " +"B<swapcontext>() со ссылкой на проблемы с переносимостью и рекомендацией " +"переписать приложение с использование нитей POSIX." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The interpretation of I<ucp-E<gt>uc_stack> is just as in B<sigaltstack>(2), " +"namely, this struct contains the start and length of a memory area to be " +"used as the stack, regardless of the direction of growth of the stack. " +"Thus, it is not necessary for the user program to worry about this direction." +msgstr "" +"Назначение I<ucp-E<gt>uc_stack> подобно описанному в B<sigaltstack>(2), а " +"именно: данная структура содержит начало и размер области памяти, которая " +"будет использоваться как стек, независимо от направления роста стека. То " +"есть, в пользовательской программе нет необходимости учитывать это " +"направление." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "On architectures where I<int> and pointer types are the same size (e.g., " +#| "x86-32, where both types are 32 bits), you may be able to get away with " +#| "passing pointers as arguments to B<makecontext>() following I<argc>. " +#| "However, doing this is not guaranteed to be portable, is undefined " +#| "according to the standards, and won't work on architectures where " +#| "pointers are larger than I<int>s. Nevertheless, starting with version " +#| "2.8, glibc makes some changes to B<makecontext>(), to permit this on some " +#| "64-bit architectures (e.g., x86-64)." +msgid "" +"On architectures where I<int> and pointer types are the same size (e.g., " +"x86-32, where both types are 32 bits), you may be able to get away with " +"passing pointers as arguments to B<makecontext>() following I<argc>. " +"However, doing this is not guaranteed to be portable, is undefined according " +"to the standards, and won't work on architectures where pointers are larger " +"than I<int>s. Nevertheless, starting with glibc 2.8, glibc makes some " +"changes to B<makecontext>(), to permit this on some 64-bit architectures (e." +"g., x86-64)." +msgstr "" +"В архитектурах, где тип I<int> и указатель имеют одинаковый размер " +"(например, x86-32, оба типа имеют размер 32 бита), вы можете передавать " +"указатели в аргументах B<makecontext>() после I<argc>. Однако, это не " +"гарантирует переносимость, не определено в стандарте и не работает на " +"архитектурах, где указатели больше I<int>. Тем не менее, начиная с версии " +"2.8, в glibc внесены изменения в B<makecontext>(), которые позволяют это и " +"на некоторых 64-битных архитектурах (например, x86-64)." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "ПРИМЕРЫ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The example program below demonstrates the use of B<getcontext>(3), " +"B<makecontext>(), and B<swapcontext>(). Running the program produces the " +"following output:" +msgstr "" +"В программе, показанной далее, демонстрируется использование " +"B<getcontext>(3), B<makecontext>() и B<swapcontext>(). Вот результат запуска " +"этой программы:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< ./a.out>\n" +"main: swapcontext(&uctx_main, &uctx_func2)\n" +"func2: started\n" +"func2: swapcontext(&uctx_func2, &uctx_func1)\n" +"func1: started\n" +"func1: swapcontext(&uctx_func1, &uctx_func2)\n" +"func2: returning\n" +"func1: returning\n" +"main: exiting\n" +msgstr "" +"$B< ./a.out>\n" +"main: swapcontext(&uctx_main, &uctx_func2)\n" +"func2: запущена\n" +"func2: swapcontext(&uctx_func2, &uctx_func1)\n" +"func1: запущена\n" +"func1: swapcontext(&uctx_func1, &uctx_func2)\n" +"func2: возврат\n" +"func1: возврат\n" +"main: выход\n" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Program source" +msgstr "Исходный код программы" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>ucontext.hE<gt>\n" +"\\&\n" +"static ucontext_t uctx_main, uctx_func1, uctx_func2;\n" +"\\&\n" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"static void\n" +"func1(void)\n" +"{\n" +" printf(\"%s: started\\en\", __func__);\n" +" printf(\"%s: swapcontext(&uctx_func1, &uctx_func2)\\en\", __func__);\n" +" if (swapcontext(&uctx_func1, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"%s: returning\\en\", __func__);\n" +"}\n" +"\\&\n" +"static void\n" +"func2(void)\n" +"{\n" +" printf(\"%s: started\\en\", __func__);\n" +" printf(\"%s: swapcontext(&uctx_func2, &uctx_func1)\\en\", __func__);\n" +" if (swapcontext(&uctx_func2, &uctx_func1) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"%s: returning\\en\", __func__);\n" +"}\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char func1_stack[16384];\n" +" char func2_stack[16384];\n" +"\\&\n" +" if (getcontext(&uctx_func1) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func1.uc_stack.ss_sp = func1_stack;\n" +" uctx_func1.uc_stack.ss_size = sizeof(func1_stack);\n" +" uctx_func1.uc_link = &uctx_main;\n" +" makecontext(&uctx_func1, func1, 0);\n" +"\\&\n" +" if (getcontext(&uctx_func2) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func2.uc_stack.ss_sp = func2_stack;\n" +" uctx_func2.uc_stack.ss_size = sizeof(func2_stack);\n" +" /* Successor context is f1(), unless argc E<gt> 1 */\n" +" uctx_func2.uc_link = (argc E<gt> 1) ? NULL : &uctx_func1;\n" +" makecontext(&uctx_func2, func2, 0);\n" +"\\&\n" +" printf(\"%s: swapcontext(&uctx_main, &uctx_func2)\\en\", __func__);\n" +" if (swapcontext(&uctx_main, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" +"\\&\n" +" printf(\"%s: exiting\\en\", __func__);\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. SRC END +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "СМ. ТАКЖЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<sigaction>(2), B<sigaltstack>(2), B<sigprocmask>(2), B<getcontext>(3), " +"B<sigsetjmp>(3)" +msgstr "" +"B<sigaction>(2), B<sigaltstack>(2), B<sigprocmask>(2), B<getcontext>(3), " +"B<sigsetjmp>(3)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-15" +msgstr "15 декабря 2022 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "ВЕРСИИ" + +#. type: Plain text +#: debian-bookworm +#, fuzzy +#| msgid "" +#| "B<makecontext>() and B<swapcontext>() are provided in glibc since " +#| "version 2.1." +msgid "B<makecontext>() and B<swapcontext>() are provided since glibc 2.1." +msgstr "" +"Функции B<makecontext>() и B<swapcontext>() появились в glibc начиная с " +"версии 2.1." + +#. type: Plain text +#: debian-bookworm +msgid "" +"SUSv2, POSIX.1-2001. POSIX.1-2008 removes the specifications of " +"B<makecontext>() and B<swapcontext>(), citing portability issues, and " +"recommending that applications be rewritten to use POSIX threads instead." +msgstr "" +"SUSv2, POSIX.1-2001. В POSIX.1-2008 удалены определения B<makecontext>() и " +"B<swapcontext>() со ссылкой на проблемы с переносимостью и рекомендацией " +"переписать приложение с использование нитей POSIX." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#include E<lt>stdio.hE<gt>\n" +#| "#include E<lt>stdlib.hE<gt>\n" +#| "#include E<lt>unistd.hE<gt>\n" +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>ucontext.hE<gt>\n" +msgstr "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "static ucontext_t uctx_main, uctx_func1, uctx_func2;\n" +msgstr "static ucontext_t uctx_main, uctx_func1, uctx_func2;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" +msgstr "" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "static void\n" +#| "func1(void)\n" +#| "{\n" +#| " printf(\"func1: started\\en\");\n" +#| " printf(\"func1: swapcontext(&uctx_func1, &uctx_func2)\\en\");\n" +#| " if (swapcontext(&uctx_func1, &uctx_func2) == -1)\n" +#| " handle_error(\"swapcontext\");\n" +#| " printf(\"func1: returning\\en\");\n" +#| "}\n" +msgid "" +"static void\n" +"func1(void)\n" +"{\n" +" printf(\"%s: started\\en\", __func__);\n" +" printf(\"%s: swapcontext(&uctx_func1, &uctx_func2)\\en\", __func__);\n" +" if (swapcontext(&uctx_func1, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"%s: returning\\en\", __func__);\n" +"}\n" +msgstr "" +"static void\n" +"func1(void)\n" +"{\n" +" printf(\"func1: запущена\\en\");\n" +" printf(\"func1: swapcontext(&uctx_func1, &uctx_func2)\\en\");\n" +" if (swapcontext(&uctx_func1, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"func1: возврат\\en\");\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "static void\n" +#| "func2(void)\n" +#| "{\n" +#| " printf(\"func2: started\\en\");\n" +#| " printf(\"func2: swapcontext(&uctx_func2, &uctx_func1)\\en\");\n" +#| " if (swapcontext(&uctx_func2, &uctx_func1) == -1)\n" +#| " handle_error(\"swapcontext\");\n" +#| " printf(\"func2: returning\\en\");\n" +#| "}\n" +msgid "" +"static void\n" +"func2(void)\n" +"{\n" +" printf(\"%s: started\\en\", __func__);\n" +" printf(\"%s: swapcontext(&uctx_func2, &uctx_func1)\\en\", __func__);\n" +" if (swapcontext(&uctx_func2, &uctx_func1) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"%s: returning\\en\", __func__);\n" +"}\n" +msgstr "" +"static void\n" +"func2(void)\n" +"{\n" +" printf(\"func2: запущена\\en\");\n" +" printf(\"func2: swapcontext(&uctx_func2, &uctx_func1)\\en\");\n" +" if (swapcontext(&uctx_func2, &uctx_func1) == -1)\n" +" handle_error(\"swapcontext\");\n" +" printf(\"func2: возврат\\en\");\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char func1_stack[16384];\n" +" char func2_stack[16384];\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char func1_stack[16384];\n" +" char func2_stack[16384];\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (getcontext(&uctx_func1) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func1.uc_stack.ss_sp = func1_stack;\n" +" uctx_func1.uc_stack.ss_size = sizeof(func1_stack);\n" +" uctx_func1.uc_link = &uctx_main;\n" +" makecontext(&uctx_func1, func1, 0);\n" +msgstr "" +" if (getcontext(&uctx_func1) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func1.uc_stack.ss_sp = func1_stack;\n" +" uctx_func1.uc_stack.ss_size = sizeof(func1_stack);\n" +" uctx_func1.uc_link = &uctx_main;\n" +" makecontext(&uctx_func1, func1, 0);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (getcontext(&uctx_func2) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func2.uc_stack.ss_sp = func2_stack;\n" +" uctx_func2.uc_stack.ss_size = sizeof(func2_stack);\n" +" /* Successor context is f1(), unless argc E<gt> 1 */\n" +" uctx_func2.uc_link = (argc E<gt> 1) ? NULL : &uctx_func1;\n" +" makecontext(&uctx_func2, func2, 0);\n" +msgstr "" +" if (getcontext(&uctx_func2) == -1)\n" +" handle_error(\"getcontext\");\n" +" uctx_func2.uc_stack.ss_sp = func2_stack;\n" +" uctx_func2.uc_stack.ss_size = sizeof(func2_stack);\n" +" /* последующий контекст — f1(), если argc E<gt> 1 */\n" +" uctx_func2.uc_link = (argc E<gt> 1) ? NULL : &uctx_func1;\n" +" makecontext(&uctx_func2, func2, 0);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " printf(\"main: swapcontext(&uctx_main, &uctx_func2)\\en\");\n" +#| " if (swapcontext(&uctx_main, &uctx_func2) == -1)\n" +#| " handle_error(\"swapcontext\");\n" +msgid "" +" printf(\"%s: swapcontext(&uctx_main, &uctx_func2)\\en\", __func__);\n" +" if (swapcontext(&uctx_main, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" +msgstr "" +" printf(\"main: swapcontext(&uctx_main, &uctx_func2)\\en\");\n" +" if (swapcontext(&uctx_main, &uctx_func2) == -1)\n" +" handle_error(\"swapcontext\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " printf(\"main: exiting\\en\");\n" +#| " exit(EXIT_SUCCESS);\n" +#| "}\n" +msgid "" +" printf(\"%s: exiting\\en\", __func__);\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +" printf(\"main: выход\\en\");\n" +" exit(EXIT_SUCCESS);\n" +"}\n" + +#. 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" |