summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/makecontext.3.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/ru/man3/makecontext.3.po
parentInitial commit. (diff)
downloadmanpages-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.po781
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"