summaryrefslogtreecommitdiffstats
path: root/templates/man3/pthread_key_create.3.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man3/pthread_key_create.3.pot')
-rw-r--r--templates/man3/pthread_key_create.3.pot511
1 files changed, 511 insertions, 0 deletions
diff --git a/templates/man3/pthread_key_create.3.pot b/templates/man3/pthread_key_create.3.pot
new file mode 100644
index 00000000..a7d64591
--- /dev/null
+++ b/templates/man3/pthread_key_create.3.pot
@@ -0,0 +1,511 @@
+# 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 fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "pthread_key_create"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-11-24"
+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
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"pthread_key_create, pthread_key_delete, pthread_setspecific, "
+"pthread_getspecific - management of thread-specific data"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid "B<#include E<lt>pthread.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"B<int pthread_key_create(pthread_key_t *>I<key>B<, void "
+"(*>I<destr_function>B<) (void *));> B<int pthread_key_delete(pthread_key_t "
+">I<key>B<);> B<int pthread_setspecific(pthread_key_t >I<key>B<, const void "
+"*>I<pointer>B<);> B<void * pthread_getspecific(pthread_key_t >I<key>B<);>"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"Programs often need global or static variables that have different values in "
+"different threads. Since threads share one memory space, this cannot be "
+"achieved with regular variables. Thread-specific data is the POSIX threads "
+"answer to this need."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"Each thread possesses a private memory block, the thread-specific data area, "
+"or TSD area for short. This area is indexed by TSD keys. The TSD area "
+"associates values of type B<void *> to TSD keys. TSD keys are common to all "
+"threads, but the value associated with a given TSD key can be different in "
+"each thread."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"For concreteness, the TSD areas can be viewed as arrays of B<void *> "
+"pointers, TSD keys as integer indices into these arrays, and the value of a "
+"TSD key as the value of the corresponding array element in the calling "
+"thread."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"When a thread is created, its TSD area initially associates B<NULL> with all "
+"keys."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"B<pthread_key_create> allocates a new TSD key. The key is stored in the "
+"location pointed to by I<key>. There is a limit of B<PTHREAD_KEYS_MAX> on "
+"the number of keys allocated at a given time. The value initially "
+"associated with the returned key is B<NULL> in all currently executing "
+"threads."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"The I<destr_function> argument, if not B<NULL>, specifies a destructor "
+"function associated with the key. When a thread terminates via "
+"B<pthread_exit> or by cancellation, I<destr_function> is called with "
+"arguments the value associated with the key in that thread. The "
+"I<destr_function> is not called if that value is B<NULL>. The order in "
+"which destructor functions are called at thread termination time is "
+"unspecified."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"Before the destructor function is called, the B<NULL> value is associated "
+"with the key in the current thread. A destructor function might, however, "
+"re-associate non-B<NULL> values to that key or some other key. To deal with "
+"this, if after all the destructors have been called for all non-B<NULL> "
+"values, there are still some non-B<NULL> values with associated destructors, "
+"then the process is repeated. The glibc implementation stops the process "
+"after B<PTHREAD_DESTRUCTOR_ITERATIONS> iterations, even if some non-B<NULL> "
+"values with associated descriptors remain. Other implementations may loop "
+"indefinitely."
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"B<pthread_key_delete> deallocates a TSD key. It does not check whether non-"
+"B<NULL> values are associated with that key in the currently executing "
+"threads, nor call the destructor function associated with the key."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<pthread_setspecific> changes the value associated with I<key> in the "
+"calling thread, storing the given I<pointer> instead."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<pthread_getspecific> returns the value currently associated with I<key> in "
+"the calling thread."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"B<pthread_key_create>, B<pthread_key_delete>, and B<pthread_setspecific> "
+"return 0 on success and a non-zero error code on failure. If successful, "
+"B<pthread_key_create> stores the newly allocated key in the location pointed "
+"to by its I<key> argument."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<pthread_getspecific> returns the value associated with I<key> on success, "
+"and B<NULL> on error."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "ERRORS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid "B<pthread_key_create> returns the following error code on error:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "B<EAGAIN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid "B<PTHREAD_KEYS_MAX> keys are already allocated."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<pthread_key_delete> and B<pthread_setspecific> return the following error "
+"code on error:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid "I<key> is not a valid, allocated TSD key."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<pthread_getspecific> returns B<NULL> if I<key> is not a valid, allocated "
+"TSD key."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid "pthread_create(3), pthread_exit(3), pthread_testcancel(3)."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "EXAMPLE"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"The following code fragment allocates a thread-specific array of 100 "
+"characters, with automatic reclamation at thread exit:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid ""
+"B</* Key for the thread-specific buffer */\n"
+"static pthread_key_t buffer_key;\n"
+"\\&\n"
+"/* Once-only initialisation of the key */\n"
+"static pthread_once_t buffer_key_once = PTHREAD_ONCE_INIT;\n"
+"\\&\n"
+"/* Allocate the thread-specific buffer */\n"
+"void buffer_alloc(void)\n"
+"{\n"
+" pthread_once(&buffer_key_once, buffer_key_alloc);\n"
+" pthread_setspecific(buffer_key, malloc(100));\n"
+"}\n"
+"\\&\n"
+"/* Return the thread-specific buffer */\n"
+"char * get_buffer(void)\n"
+"{\n"
+" return (char *) pthread_getspecific(buffer_key);\n"
+"}\n"
+"\\&\n"
+"/* Allocate the key */\n"
+"static void buffer_key_alloc()\n"
+"{\n"
+" pthread_key_create(&buffer_key, buffer_destroy);\n"
+"}\n"
+"\\&\n"
+"/* Free the thread-specific buffer */\n"
+"static void buffer_destroy(void * buf)\n"
+"{\n"
+" free(buf);\n"
+"}>\n"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "PTHREAD_SPECIFIC"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "LinuxThreads"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<int pthread_key_create(pthread_key_t *>I<key>B<, void "
+"(*>I<destr_function>B<) (void *));>"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<int pthread_key_delete(pthread_key_t >I<key>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<int pthread_setspecific(pthread_key_t >I<key>B<, const void "
+"*>I<pointer>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<void * pthread_getspecific(pthread_key_t >I<key>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"Programs often need global or static variables that have different values in "
+"different threads. Since threads share one memory space, this cannot be "
+"achieved with regular variables. Thread-specific data is the POSIX threads "
+"answer to this need."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"Each thread possesses a private memory block, the thread-specific data area, "
+"or TSD area for short. This area is indexed by TSD keys. The TSD area "
+"associates values of type B<void *> to TSD keys. TSD keys are common to all "
+"threads, but the value associated with a given TSD key can be different in "
+"each thread."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<pthread_key_create> allocates a new TSD key. The key is stored in the "
+"location pointed to by I<key>. There is a limit of B<PTHREAD_KEYS_MAX> on "
+"the number of keys allocated at a given time. The value initially associated "
+"with the returned key is B<NULL> in all currently executing threads."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"The I<destr_function> argument, if not B<NULL>, specifies a destructor "
+"function associated with the key. When a thread terminates via "
+"B<pthread_exit> or by cancellation, I<destr_function> is called with "
+"arguments the value associated with the key in that thread. The "
+"I<destr_function> is not called if that value is B<NULL>. The order in which "
+"destructor functions are called at thread termination time is unspecified."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"Before the destructor function is called, the B<NULL> value is associated "
+"with the key in the current thread. A destructor function might, however, "
+"re-associate non-B<NULL> values to that key or some other key. To deal with "
+"this, if after all the destructors have been called for all non-B<NULL> "
+"values, there are still some non-B<NULL> values with associated destructors, "
+"then the process is repeated. The LinuxThreads implementation stops the "
+"process after B<PTHREAD_DESTRUCTOR_ITERATIONS> iterations, even if some non-"
+"B<NULL> values with associated descriptors remain. Other implementations "
+"may loop indefinitely."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<pthread_key_delete> deallocates a TSD key. It does not check whether non-"
+"B<NULL> values are associated with that key in the currently executing "
+"threads, nor call the destructor function associated with the key."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<pthread_key_create>, B<pthread_key_delete>, and B<pthread_setspecific> "
+"return 0 on success and a non-zero error code on failure. If successful, "
+"B<pthread_key_create> stores the newly allocated key in the location pointed "
+"to by its I<key> argument."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<PTHREAD_KEYS_MAX> keys are already allocated"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "I<key> is not a valid, allocated TSD key"
+msgstr ""
+
+#. type: SH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "AUTHOR"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "Xavier Leroy E<lt>Xavier.Leroy@inria.frE<gt>"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"The following code fragment allocates a thread-specific array of 100 "
+"characters, with automatic reclaimation at thread exit:"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Key for the thread-specific buffer */\n"
+"static pthread_key_t buffer_key;>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Once-only initialisation of the key */\n"
+"static pthread_once_t buffer_key_once = PTHREAD_ONCE_INIT;>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Allocate the thread-specific buffer */\n"
+"void buffer_alloc(void)\n"
+"{\n"
+" pthread_once(&buffer_key_once, buffer_key_alloc);\n"
+" pthread_setspecific(buffer_key, malloc(100));\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Return the thread-specific buffer */\n"
+"char * get_buffer(void)\n"
+"{\n"
+" return (char *) pthread_getspecific(buffer_key);\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Allocate the key */\n"
+"static void buffer_key_alloc()\n"
+"{\n"
+" pthread_key_create(&buffer_key, buffer_destroy);\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid ""
+"B</* Free the thread-specific buffer */\n"
+"static void buffer_destroy(void * buf)\n"
+"{\n"
+" free(buf);\n"
+"}>\n"
+msgstr ""