diff options
Diffstat (limited to 'templates/man3/pthread_attr_init.3.pot')
-rw-r--r-- | templates/man3/pthread_attr_init.3.pot | 859 |
1 files changed, 859 insertions, 0 deletions
diff --git a/templates/man3/pthread_attr_init.3.pot b/templates/man3/pthread_attr_init.3.pot new file mode 100644 index 00000000..d44b0e39 --- /dev/null +++ b/templates/man3/pthread_attr_init.3.pot @@ -0,0 +1,859 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 17:04+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "pthread_attr_init" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. 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 "" + +#. 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<libpthread>, 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 E<lt>pthread.hE<gt>>\n" +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<int pthread_attr_init(pthread_attr_t *>I<attr>B<);>\n" +"B<int pthread_attr_destroy(pthread_attr_t *>I<attr>B<);>\n" +msgstr "" + +#. 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<pthread_attr_init>() function initializes the thread attributes " +"object pointed to by I<attr> 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<pthread_create>(3) calls that create threads." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Calling B<pthread_attr_init>() on a thread attributes object that has " +"already been initialized results in undefined behavior." +msgstr "" + +#. 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<pthread_attr_destroy>() function. Destroying a " +"thread attributes object has no effect on threads that were created using " +"that object." +msgstr "" + +#. 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<pthread_attr_init>(). Any other use of a destroyed thread " +"attributes object has undefined results." +msgstr "" + +#. 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 "" + +#. 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<ENOMEM> error for B<pthread_attr_init>(); on Linux " +"these functions always succeed (but portable and future-proof applications " +"should nevertheless handle a possible error return)." +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 "" + +#. 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 "" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".nh\n" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<pthread_attr_init>(),\n" +"B<pthread_attr_destroy>()" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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<pthread_attr_t> type should be treated as opaque: any access to the " +"object other than via pthreads functions is nonportable and produces " +"undefined results." +msgstr "" + +#. 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<pthread_attr_init>() 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<pthread_getattr_np>(3) function (a nonstandard GNU extension) to retrieve " +"the thread's attributes, and then displays those attributes." +msgstr "" + +#. 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<attr> argument of B<pthread_create>(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 "" + +#. 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<gt> 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 "" + +#. 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<pthread_create>(3). Running the program on Linux/x86-32 with the NPTL " +"threading implementation, we see the following:" +msgstr "" + +#. 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 "" + +#. 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 E<lt>err.hE<gt>\n" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\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<gt> 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 +msgid "" +"B<pthread_attr_setaffinity_np>(3), B<pthread_attr_setdetachstate>(3), " +"B<pthread_attr_setguardsize>(3), B<pthread_attr_setinheritsched>(3), " +"B<pthread_attr_setschedparam>(3), B<pthread_attr_setschedpolicy>(3), " +"B<pthread_attr_setscope>(3), B<pthread_attr_setsigmask_np>(3), " +"B<pthread_attr_setstack>(3), B<pthread_attr_setstackaddr>(3), " +"B<pthread_attr_setstacksize>(3), B<pthread_create>(3), " +"B<pthread_getattr_np>(3), B<pthread_setattr_default_np>(3), B<pthreads>(7)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-15" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "POSIX.1-2001, POSIX.1-2008." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, 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" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_getattr_np(pthread_self(), &gattr);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" printf(\"Thread attributes:\\en\");\n" +" display_pthread_attr(&gattr, \"\\et\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS); /* Terminate all threads */\n" +"}\n" +msgstr "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " attrp = NULL;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, 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" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc E<gt> 1) {\n" +" size_t stack_size;\n" +" void *sp;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " attrp = &attr;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_attr_init(&attr);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_attr_setdetachstate\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_attr_setinheritsched\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " stack_size = strtoul(argv[1], NULL, 0);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = posix_memalign(&sp, sysconf(_SC_PAGESIZE), stack_size);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"posix_memalign\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " printf(\"posix_memalign() allocated at %p\\en\", sp);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_attr_setstack(&attr, sp, stack_size);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_attr_setstack\");\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = pthread_create(&thr, attrp, &thread_start, NULL);\n" +" if (s != 0)\n" +" errc(EXIT_FAILURE, s, \"pthread_create\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" pause(); /* Terminates when other thread calls exit() */\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |