# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Alexey, 2016. # Azamat Hackimov , 2014-2017. # kogamatranslator49 , 2015. # Darima Kogan , 2014. # Max Is , 2016. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:12+0200\n" "PO-Revision-Date: 2019-10-12 08:58+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Lokalize 2.0\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "See B(3)." msgid "pthread_attr_init" msgstr "Смотрите B(3)." #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "ИМЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "pthread_attr_init, pthread_attr_destroy - initialize and destroy thread " "attributes object" msgstr "" "pthread_attr_init, pthread_attr_destroy - инициализирует и уничтожает объект " "атрибутов нити" #. 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 "POSIX threads library (I, I<-lpthread>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "СИНТАКСИС" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Epthread.hE>\n" msgstr "B<#include Epthread.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<);>\n" "BIB<);>\n" msgstr "" "BIB<);>\n" "BIB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "ОПИСАНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function initializes the thread attributes " "object pointed to by I with default attribute values. After this " "call, individual attributes of the object can be set using various related " "functions (listed under SEE ALSO), and then the object can be used in one or " "more B(3) calls that create threads." msgstr "" "Функция B() инициализирует объект атрибутов нити, на " "который указывает I, значениями атрибутов по умолчанию. После этого " "вызова отдельные атрибуты объекта можно изменять с помощью различных " "соответствующих функций (перечислены в разделе СМОТРИТЕ ТАКЖЕ, а после этого " "объект можно использовать в одном или нескольких вызовах " "B(3) для создания нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Calling B() on a thread attributes object that has " "already been initialized results in undefined behavior." msgstr "" "Вызов B() с уже инициализированным объектом атрибутов " "нити приводит к непредсказуемому поведению." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When a thread attributes object is no longer required, it should be " "destroyed using the B() function. Destroying a " "thread attributes object has no effect on threads that were created using " "that object." msgstr "" "Когда объект атрибутов нити больше не нужен, он должен быть уничтожен с " "помощью функции B(). Уничтожение объекта атрибутов " "нити не влияет на нить, которая была создана с использованием этого объекта." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Once a thread attributes object has been destroyed, it can be reinitialized " "using B(). Any other use of a destroyed thread " "attributes object has undefined results." msgstr "" "После уничтожения объекта атрибутов нити его можно инициализировать с " "помощью B() повторно. При использовании уничтоженного " "объекта атрибутов нити другим способом приводит непредсказуемым результатам." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, these functions return 0; on error, they return a nonzero error " "number." msgstr "" "При успешном выполнении эти функции возвращают 0; при ошибке возвращается " "ненулевой номер ошибки." #. 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: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX.1 documents an B error for B(); on Linux " "these functions always succeed (but portable and future-proof applications " "should nevertheless handle a possible error return)." msgstr "" "В POSIX.1 описана ошибка B для B(); в Linux эти " "функции всегда выполняются успешно (тем не менее, в переносимых приложениях " "нужно учитывать возможность возврата ошибки)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "АТРИБУТЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "Описание терминов данного раздела смотрите в B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Интерфейс" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Атрибут" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Значение" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B()" msgstr "" "B(),\n" "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Безвредность в нитях" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: 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 msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001." msgstr "POSIX.1-2001." #. 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 I type should be treated as opaque: any access to the " "object other than via pthreads functions is nonportable and produces " "undefined results." msgstr "" "Тип I должен считаться со скрытым форматом: любой доступ к " "объекту помимо функций pthreads является непереносимым и приводит к " "непредсказуемым результатам." #. 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 program below optionally makes use of B() and " "various related functions to initialize a thread attributes object that is " "used to create a single thread. Once created, the thread uses the " "B(3) function (a nonstandard GNU extension) to retrieve " "the thread's attributes, and then displays those attributes." msgstr "" "В программе, представленной ниже, для создания одной нити используется " "B() и другие функции, относящиеся к инициализации объекта " "атрибутов нити. После создания в нити используется функция " "B(3) (нестандартное расширение GNU) для получения " "атрибутов нити, а затем показываются эти атрибуты." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the program is run with no command-line argument, then it passes NULL as " "the I argument of B(3), so that the thread is created " "with default attributes. Running the program on Linux/x86-32 with the NPTL " "threading implementation, we see the following:" msgstr "" "Если программа запускается без аргументов командной строки, то аргумент " "I функции B(3) равен NULL, и поэтому нить создаётся с " "атрибутами по умолчанию. При запуске программы на Linux/x86-32 с реализацией " "нитей NPTL мы увидим следующее:" #. Results from glibc 2.8, SUSE 11.0; Oct 2008 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$B< ulimit -s> # No stack limit ==E default stack size is 2 MB\n" "unlimited\n" "$B< ./a.out>\n" "Thread attributes:\n" " Detach state = PTHREAD_CREATE_JOINABLE\n" " Scope = PTHREAD_SCOPE_SYSTEM\n" " Inherit scheduler = PTHREAD_INHERIT_SCHED\n" " Scheduling policy = SCHED_OTHER\n" " Scheduling priority = 0\n" " Guard size = 4096 bytes\n" " Stack address = 0x40196000\n" " Stack size = 0x201000 bytes\n" msgstr "" "$B< ulimit -s> # стек не ограничен ==E размер стека по умолчанию 2 МБ\n" "unlimited\n" "$B< ./a.out>\n" "Атрибуты нити:\n" " Состояние отсоединения = PTHREAD_CREATE_JOINABLE\n" " Область = PTHREAD_SCOPE_SYSTEM\n" " Унаследованный планировщик = PTHREAD_INHERIT_SCHED\n" " Алгоритм планирования = SCHED_OTHER\n" " Приоритет планирования = 0\n" " Размер защиты = 4096 байт\n" " Адрес стека = 0x40196000\n" " Размер стека = 0x201000 байт\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When we supply a stack size as a command-line argument, the program " "initializes a thread attributes object, sets various attributes in that " "object, and passes a pointer to the object in the call to " "B(3). Running the program on Linux/x86-32 with the NPTL " "threading implementation, we see the following:" msgstr "" "Если в командной строке мы укажем размер стека, то программа инициализирует " "объект атрибутов нити, задаёт различные атрибуты в этом объекте и передаёт " "указатель на объект в вызов B(3). При запуске программы на " "Linux/x86-32 с реализацией нитей NPTL мы увидим следующее:" #. Results from glibc 2.8, SUSE 11.0; Oct 2008 #. 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 0x3000000>\n" "posix_memalign() allocated at 0x40197000\n" "Thread attributes:\n" " Detach state = PTHREAD_CREATE_DETACHED\n" " Scope = PTHREAD_SCOPE_SYSTEM\n" " Inherit scheduler = PTHREAD_EXPLICIT_SCHED\n" " Scheduling policy = SCHED_OTHER\n" " Scheduling priority = 0\n" " Guard size = 0 bytes\n" " Stack address = 0x40197000\n" " Stack size = 0x3000000 bytes\n" msgstr "" "$B< ./a.out 0x3000000>\n" "posix_memalign() выделен по адресу 0x40197000\n" "Атрибуты нити:\n" " Состояние отсоединения = PTHREAD_CREATE_DETACHED\n" " Область = PTHREAD_SCOPE_SYSTEM\n" " Унаследованный планировщик = PTHREAD_EXPLICIT_SCHED\n" " Алгоритм планирования = SCHED_OTHER\n" " Приоритет планирования = 0\n" " Размер защиты = 0 байт\n" " Адрес стека = 0x40197000\n" " Размер стека = 0x3000000 байт\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 "" "#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "static void\n" "display_pthread_attr(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s, i;\n" " size_t v;\n" " void *stkaddr;\n" " struct sched_param sp;\n" "\\&\n" " s = pthread_attr_getdetachstate(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getdetachstate\");\n" " printf(\"%sDetach state = %s\\en\", prefix,\n" " (i == PTHREAD_CREATE_DETACHED) ? \"PTHREAD_CREATE_DETACHED\" :\n" " (i == PTHREAD_CREATE_JOINABLE) ? \"PTHREAD_CREATE_JOINABLE\" :\n" " \"???\");\n" "\\&\n" " s = pthread_attr_getscope(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getscope\");\n" " printf(\"%sScope = %s\\en\", prefix,\n" " (i == PTHREAD_SCOPE_SYSTEM) ? \"PTHREAD_SCOPE_SYSTEM\" :\n" " (i == PTHREAD_SCOPE_PROCESS) ? \"PTHREAD_SCOPE_PROCESS\" :\n" " \"???\");\n" "\\&\n" " s = pthread_attr_getinheritsched(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getinheritsched\");\n" " printf(\"%sInherit scheduler = %s\\en\", prefix,\n" " (i == PTHREAD_INHERIT_SCHED) ? \"PTHREAD_INHERIT_SCHED\" :\n" " (i == PTHREAD_EXPLICIT_SCHED) ? \"PTHREAD_EXPLICIT_SCHED\" :\n" " \"???\");\n" "\\&\n" " s = pthread_attr_getschedpolicy(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getschedpolicy\");\n" " printf(\"%sScheduling policy = %s\\en\", prefix,\n" " (i == SCHED_OTHER) ? \"SCHED_OTHER\" :\n" " (i == SCHED_FIFO) ? \"SCHED_FIFO\" :\n" " (i == SCHED_RR) ? \"SCHED_RR\" :\n" " \"???\");\n" "\\&\n" " s = pthread_attr_getschedparam(attr, &sp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getschedparam\");\n" " printf(\"%sScheduling priority = %d\\en\", prefix, sp.sched_priority);\n" "\\&\n" " s = pthread_attr_getguardsize(attr, &v);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, v);\n" "\\&\n" " s = pthread_attr_getstack(attr, &stkaddr, &v);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\\en\", prefix, stkaddr);\n" " printf(\"%sStack size = %#zx bytes\\en\", prefix, v);\n" "}\n" "\\&\n" "static void *\n" "thread_start(void *arg)\n" "{\n" " int s;\n" " pthread_attr_t gattr;\n" "\\&\n" " /* pthread_getattr_np() is a non-standard GNU extension that\n" " retrieves the attributes of the thread specified in its\n" " first argument. */\n" "\\&\n" " s = pthread_getattr_np(pthread_self(), &gattr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" "\\&\n" " printf(\"Thread attributes:\\en\");\n" " display_pthread_attr(&gattr, \"\\et\");\n" "\\&\n" " exit(EXIT_SUCCESS); /* Terminate all threads */\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp; /* NULL or &attr */\n" " int s;\n" "\\&\n" " attrp = NULL;\n" "\\&\n" " /* If a command-line argument was supplied, use it to set the\n" " stack-size attribute and set a few other thread attributes,\n" " and set attrp pointing to thread attributes object. */\n" "\\&\n" " if (argc E 1) {\n" " size_t stack_size;\n" " void *sp;\n" "\\&\n" " attrp = &attr;\n" "\\&\n" " s = pthread_attr_init(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" "\\&\n" " s = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setdetachstate\");\n" "\\&\n" " s = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setinheritsched\");\n" "\\&\n" " stack_size = strtoul(argv[1], NULL, 0);\n" "\\&\n" " s = posix_memalign(&sp, sysconf(_SC_PAGESIZE), stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" "\\&\n" " printf(\"posix_memalign() allocated at %p\\en\", sp);\n" "\\&\n" " s = pthread_attr_setstack(&attr, sp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstack\");\n" " }\n" "\\&\n" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" "\\&\n" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" "\\&\n" " pause(); /* Terminates when other thread calls exit() */\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 #, fuzzy #| msgid "" #| "B(3), B(3), " #| "B(3), B(3), " #| "B(3), B(3), " #| "B(3), B(3), " #| "B(3), B(3), " #| "B(3), B(3), " #| "B(3), B(7)" msgid "" "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), B(7)" msgstr "" "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(7)" #. 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: Plain text #: debian-bookworm msgid "POSIX.1-2001, POSIX.1-2008." msgstr "POSIX.1-2001, POSIX.1-2008." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" #| "#include Epthread.hE\n" #| "#include Estdio.hE\n" #| "#include Estdlib.hE\n" #| "#include Eunistd.hE\n" #| "#include Eerrno.hE\n" msgid "" "#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" msgstr "" "#define _GNU_SOURCE /* для объявления pthread_getattr_np() */\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Eerrno.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "display_pthread_attr(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s, i;\n" " size_t v;\n" " void *stkaddr;\n" " struct sched_param sp;\n" msgstr "" "static void\n" "display_pthread_attr(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s, i;\n" " size_t v;\n" " void *stkaddr;\n" " struct sched_param sp;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getdetachstate(attr, &i);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getdetachstate\");\n" #| " printf(\"%sDetach state = %s\\en\", prefix,\n" #| " (i == PTHREAD_CREATE_DETACHED) ? \"PTHREAD_CREATE_DETACHED\" :\n" #| " (i == PTHREAD_CREATE_JOINABLE) ? \"PTHREAD_CREATE_JOINABLE\" :\n" #| " \"???\");\n" msgid "" " s = pthread_attr_getdetachstate(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getdetachstate\");\n" " printf(\"%sDetach state = %s\\en\", prefix,\n" " (i == PTHREAD_CREATE_DETACHED) ? \"PTHREAD_CREATE_DETACHED\" :\n" " (i == PTHREAD_CREATE_JOINABLE) ? \"PTHREAD_CREATE_JOINABLE\" :\n" " \"???\");\n" msgstr "" " s = pthread_attr_getdetachstate(attr, &i);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getdetachstate\");\n" " printf(\"%sСостояние отсоединения = %s\\en\", prefix,\n" " (i == PTHREAD_CREATE_DETACHED) ? \"PTHREAD_CREATE_DETACHED\" :\n" " (i == PTHREAD_CREATE_JOINABLE) ? \"PTHREAD_CREATE_JOINABLE\" :\n" " \"???\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getscope(attr, &i);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getscope\");\n" #| " printf(\"%sScope = %s\\en\", prefix,\n" #| " (i == PTHREAD_SCOPE_SYSTEM) ? \"PTHREAD_SCOPE_SYSTEM\" :\n" #| " (i == PTHREAD_SCOPE_PROCESS) ? \"PTHREAD_SCOPE_PROCESS\" :\n" #| " \"???\");\n" msgid "" " s = pthread_attr_getscope(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getscope\");\n" " printf(\"%sScope = %s\\en\", prefix,\n" " (i == PTHREAD_SCOPE_SYSTEM) ? \"PTHREAD_SCOPE_SYSTEM\" :\n" " (i == PTHREAD_SCOPE_PROCESS) ? \"PTHREAD_SCOPE_PROCESS\" :\n" " \"???\");\n" msgstr "" " s = pthread_attr_getscope(attr, &i);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getscope\");\n" " printf(\"%sОбласть = %s\\en\", prefix,\n" " (i == PTHREAD_SCOPE_SYSTEM) ? \"PTHREAD_SCOPE_SYSTEM\" :\n" " (i == PTHREAD_SCOPE_PROCESS) ? \"PTHREAD_SCOPE_PROCESS\" :\n" " \"???\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getinheritsched(attr, &i);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getinheritsched\");\n" #| " printf(\"%sInherit scheduler = %s\\en\", prefix,\n" #| " (i == PTHREAD_INHERIT_SCHED) ? \"PTHREAD_INHERIT_SCHED\" :\n" #| " (i == PTHREAD_EXPLICIT_SCHED) ? \"PTHREAD_EXPLICIT_SCHED\" :\n" #| " \"???\");\n" msgid "" " s = pthread_attr_getinheritsched(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getinheritsched\");\n" " printf(\"%sInherit scheduler = %s\\en\", prefix,\n" " (i == PTHREAD_INHERIT_SCHED) ? \"PTHREAD_INHERIT_SCHED\" :\n" " (i == PTHREAD_EXPLICIT_SCHED) ? \"PTHREAD_EXPLICIT_SCHED\" :\n" " \"???\");\n" msgstr "" " s = pthread_attr_getinheritsched(attr, &i);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getinheritsched\");\n" " printf(\"%sУнаследованный планировщик = %s\\en\", prefix,\n" " (i == PTHREAD_INHERIT_SCHED) ? \"PTHREAD_INHERIT_SCHED\" :\n" " (i == PTHREAD_EXPLICIT_SCHED) ? \"PTHREAD_EXPLICIT_SCHED\" :\n" " \"???\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getschedpolicy(attr, &i);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getschedpolicy\");\n" #| " printf(\"%sScheduling policy = %s\\en\", prefix,\n" #| " (i == SCHED_OTHER) ? \"SCHED_OTHER\" :\n" #| " (i == SCHED_FIFO) ? \"SCHED_FIFO\" :\n" #| " (i == SCHED_RR) ? \"SCHED_RR\" :\n" #| " \"???\");\n" msgid "" " s = pthread_attr_getschedpolicy(attr, &i);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getschedpolicy\");\n" " printf(\"%sScheduling policy = %s\\en\", prefix,\n" " (i == SCHED_OTHER) ? \"SCHED_OTHER\" :\n" " (i == SCHED_FIFO) ? \"SCHED_FIFO\" :\n" " (i == SCHED_RR) ? \"SCHED_RR\" :\n" " \"???\");\n" msgstr "" " s = pthread_attr_getschedpolicy(attr, &i);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getschedpolicy\");\n" " printf(\"%sАлгоритм планирования = %s\\en\", prefix,\n" " (i == SCHED_OTHER) ? \"SCHED_OTHER\" :\n" " (i == SCHED_FIFO) ? \"SCHED_FIFO\" :\n" " (i == SCHED_RR) ? \"SCHED_RR\" :\n" " \"???\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getschedparam(attr, &sp);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getschedparam\");\n" #| " printf(\"%sScheduling priority = %d\\en\", prefix, sp.sched_priority);\n" msgid "" " s = pthread_attr_getschedparam(attr, &sp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getschedparam\");\n" " printf(\"%sScheduling priority = %d\\en\", prefix, sp.sched_priority);\n" msgstr "" " s = pthread_attr_getschedparam(attr, &sp);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getschedparam\");\n" " printf(\"%sПриоритет планирования = %d\\en\", prefix, sp.sched_priority);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getguardsize(attr, &v);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getguardsize\");\n" #| " printf(\"%sGuard size = %zu bytes\\en\", prefix, v);\n" msgid "" " s = pthread_attr_getguardsize(attr, &v);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, v);\n" msgstr "" " s = pthread_attr_getguardsize(attr, &v);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getguardsize\");\n" " printf(\"%sРазмер защиты = %zu bytes\\en\", prefix, v);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_getstack(attr, &stkaddr, &v);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_getstack\");\n" #| " printf(\"%sStack address = %p\\en\", prefix, stkaddr);\n" #| " printf(\"%sStack size = 0x%zx bytes\\en\", prefix, v);\n" #| "}\n" msgid "" " s = pthread_attr_getstack(attr, &stkaddr, &v);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\\en\", prefix, stkaddr);\n" " printf(\"%sStack size = %#zx bytes\\en\", prefix, v);\n" "}\n" msgstr "" " s = pthread_attr_getstack(attr, &stkaddr, &v);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_getstack\");\n" " printf(\"%sАдрес стека = %p\\en\", prefix, stkaddr);\n" " printf(\"%sРазмер стека = 0x%zx байт\\en\", prefix, v);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void *\n" "thread_start(void *arg)\n" "{\n" " int s;\n" " pthread_attr_t gattr;\n" msgstr "" "static void *\n" "thread_start(void *arg)\n" "{\n" " int s;\n" " pthread_attr_t gattr;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " /* pthread_getattr_np() is a non-standard GNU extension that\n" #| " retrieves the attributes of the thread specified in its\n" #| " first argument */\n" msgid "" " /* pthread_getattr_np() is a non-standard GNU extension that\n" " retrieves the attributes of the thread specified in its\n" " first argument. */\n" msgstr "" " /* pthread_getattr_np() — нестандартное расширение GNU,\n" " возвращает атрибуты нити, указанной в её\n" " первом аргументе */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_getattr_np(pthread_self(), &gattr);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_getattr_np\");\n" msgid "" " s = pthread_getattr_np(pthread_self(), &gattr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" msgstr "" " s = pthread_getattr_np(pthread_self(), &gattr);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_getattr_np\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"Thread attributes:\\en\");\n" " display_pthread_attr(&gattr, \"\\et\");\n" msgstr "" " printf(\"Атрибуты нити:\\en\");\n" " display_pthread_attr(&gattr, \"\\et\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS); /* Terminate all threads */\n" "}\n" msgstr "" " exit(EXIT_SUCCESS); /* Завершить все нити */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp; /* NULL or &attr */\n" " int s;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp; /* NULL или &attr */\n" " int s;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " attrp = NULL;\n" msgstr " attrp = NULL;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " /* If a command-line argument was supplied, use it to set the\n" #| " stack-size attribute and set a few other thread attributes,\n" #| " and set attrp pointing to thread attributes object */\n" msgid "" " /* If a command-line argument was supplied, use it to set the\n" " stack-size attribute and set a few other thread attributes,\n" " and set attrp pointing to thread attributes object. */\n" msgstr "" " /* Если в командной строке есть аргумент, то использовать его\n" " для задания атрибута размера стека и ещё некоторых других атрибутов\n" " нити, и attrp будет указывать на объект атрибутов нити */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (argc E 1) {\n" #| " int stack_size;\n" #| " void *sp;\n" msgid "" " if (argc E 1) {\n" " size_t stack_size;\n" " void *sp;\n" msgstr "" " if (argc E 1) {\n" " int stack_size;\n" " void *sp;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " attrp = &attr;\n" msgstr " attrp = &attr;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_init(&attr);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_init\");\n" msgid "" " s = pthread_attr_init(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" msgstr "" " s = pthread_attr_init(&attr);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_init\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_setdetachstate\");\n" msgid "" " s = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setdetachstate\");\n" msgstr "" " s = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_setdetachstate\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_setinheritsched\");\n" msgid "" " s = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setinheritsched\");\n" msgstr "" " s = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_setinheritsched\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " stack_size = strtoul(argv[1], NULL, 0);\n" msgstr " stack_size = strtoul(argv[1], NULL, 0);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = posix_memalign(&sp, sysconf(_SC_PAGESIZE), stack_size);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"posix_memalign\");\n" msgid "" " s = posix_memalign(&sp, sysconf(_SC_PAGESIZE), stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" msgstr "" " s = posix_memalign(&sp, sysconf(_SC_PAGESIZE), stack_size);\n" " if (s != 0)\n" " handle_error_en(s, \"posix_memalign\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"posix_memalign() allocated at %p\\en\", sp);\n" msgstr " printf(\"posix_memalign() выделен по адресу %p\\en\", sp);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_attr_setstack(&attr, sp, stack_size);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_setstack\");\n" #| " }\n" msgid "" " s = pthread_attr_setstack(&attr, sp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstack\");\n" " }\n" msgstr "" " s = pthread_attr_setstack(&attr, sp, stack_size);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_setstack\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_create\");\n" msgid "" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" msgstr "" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_create\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (attrp != NULL) {\n" #| " s = pthread_attr_destroy(attrp);\n" #| " if (s != 0)\n" #| " handle_error_en(s, \"pthread_attr_destroy\");\n" #| " }\n" msgid "" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" msgstr "" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " handle_error_en(s, \"pthread_attr_destroy\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " pause(); /* Terminates when other thread calls exit() */\n" "}\n" msgstr "" " pause(); /* Завершается, когда другая нить вызывает exit() */\n" "}\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 марта 2023 г." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"