summaryrefslogtreecommitdiffstats
path: root/po/ro/man3/pthread_key_create.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/ro/man3/pthread_key_create.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/ro/man3/pthread_key_create.3.po')
-rw-r--r--po/ro/man3/pthread_key_create.3.po674
1 files changed, 674 insertions, 0 deletions
diff --git a/po/ro/man3/pthread_key_create.3.po b/po/ro/man3/pthread_key_create.3.po
new file mode 100644
index 00000000..3d5d29ac
--- /dev/null
+++ b/po/ro/man3/pthread_key_create.3.po
@@ -0,0 +1,674 @@
+# Romanian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n 4.21.0\n"
+"POT-Creation-Date: 2024-03-01 17:04+0100\n"
+"PO-Revision-Date: 2024-02-16 10:32+0100\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "pthread_key_create"
+msgstr "pthread_key_create"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-11-24"
+msgstr "24 noiembrie 2023"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Pagini de manual de Linux 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "NAME"
+msgstr "NUME"
+
+#. 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 ""
+"pthread_key_create, pthread_key_delete, pthread_setspecific, "
+"pthread_getspecific - gestionarea datelor specifice firului de execuție"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "REZUMAT"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid "B<#include E<lt>pthread.hE<gt>>"
+msgstr "B<#include E<lt>pthread.hE<gt>>"
+
+#. 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 ""
+"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<);>"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIERE"
+
+#. 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 ""
+"Programele au adesea nevoie de variabile globale sau statice care au valori "
+"diferite în diferite fire de execuție. Deoarece firele de execuție împart un "
+"singur spațiu de memorie, acest lucru nu poate fi realizat cu variabile "
+"obișnuite. Datele specifice firelor de execuție reprezintă răspunsul POSIX "
+"la această necesitate."
+
+#. 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 ""
+"Fiecare fir de execuție are un bloc de memorie privat, zona de date "
+"specifică firului de execuție sau, pe scurt, zona TSD. Această zonă este "
+"indexată cu ajutorul cheilor TSD. Zona TSD asociază valori de tip B<void *> "
+"cheilor TSD. Cheile TSD sunt comune tuturor firelor, dar valoarea asociată "
+"unei anumite chei TSD poate fi diferită în fiecare fir."
+
+#. 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 ""
+"Pentru a fi mai concreți, zonele TSD pot fi considerate ca fiind matrice de "
+"indicatori B<void *>, cheile TSD ca indici întregi în aceste matrice, iar "
+"valoarea unei chei TSD ca valoare a elementului de matrice corespunzător în "
+"firul de apelare."
+
+#. 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 ""
+"Atunci când este creat un fir, zona TSD a acestuia asociază inițial B<NULL> "
+"cu toate cheile."
+
+#. 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 ""
+"B<pthread_key_create> alocă o nouă cheie TSD. Cheia este stocată în locația "
+"indicată de I<key>. Există o limită de B<PTHREAD_KEYS_MAX> pentru numărul de "
+"chei alocate la un moment dat. Valoarea asociată inițial cheii returnate "
+"este B<NULL> în toate firele de execuție în curs."
+
+#. 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 ""
+"Argumentul I<destr_function>, dacă nu este B<NULL>, specifică o funcție de "
+"distrugere asociată cu cheia. Atunci când un fir de execuție se termină prin "
+"B<pthread_exit> sau prin anulare, I<destr_function> este apelată cu "
+"argumentele valorii asociate cheii în acel fir de execuție. "
+"I<destr_function> nu este apelată dacă valoarea respectivă este B<NULL>. "
+"Ordinea în care sunt apelate funcțiile de distrugere în momentul terminării "
+"firului nu este specificată."
+
+#. 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 ""
+"Înainte de apelarea funcției de distrugere, valoarea B<NULL> este asociată "
+"cu cheia în firul curent. Cu toate acestea, o funcție de distrugere ar putea "
+"reasocia valorile non-B<NULL> la această cheie sau la o altă cheie. Pentru a "
+"rezolva această problemă, dacă, după ce toți destructorii au fost apelați "
+"pentru toate valorile non-B<NULL>, mai există încă valori non-B<NULL> cu "
+"destructori asociați, procesul se repetă. Implementarea „LinuxThreads” "
+"oprește procesul după B<PTHREAD_DESTRUCTOR_ITERATIONS> iterații, chiar dacă "
+"mai rămân câteva valori non-B<NULL> cu descriptori asociați. Alte "
+"implementări pot efectua bucle la nesfârșit."
+
+#. 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 ""
+"B<pthread_key_delete> anulează alocarea unei chei TSD. Nu verifică dacă "
+"există valori non-B<NULL> asociate cu cheia respectivă în firele de execuție "
+"în curs de execuție și nici nu apelează funcția de distrugere asociată cu "
+"cheia."
+
+#. 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 ""
+"B<pthread_setspecific> modifică valoarea asociată cu I<key> în firul de "
+"apelare, stocând în schimb I<pointer>-ul dat."
+
+#. 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 ""
+"B<pthread_getspecific> returnează valoarea asociată în prezent cu I<key> în "
+"firul de apelare."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr "VALOAREA RETURNATĂ"
+
+#. 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 ""
+"B<pthread_key_create>, B<pthread_key_delete> și B<pthread_setspecific> "
+"returnează 0 în caz de succes și un cod de eroare diferit de zero în caz de "
+"eșec. În caz de succes, B<pthread_key_create> stochează cheia nou alocată în "
+"locația indicată de argumentul său I<key>."
+
+#. 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 ""
+"B<pthread_getspecific> returnează valoarea asociată cu I<key> în caz de "
+"succes, și B<NULL> în caz de eroare."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "ERRORS"
+msgstr "ERORI-IEȘIRE"
+
+#. 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 ""
+"În caz de eroare, B<pthread_key_create> returnează următorul cod de eroare:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "B<EAGAIN>"
+msgstr "B<EAGAIN>"
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid "B<PTHREAD_KEYS_MAX> keys are already allocated."
+msgstr "Cheile B<PTHREAD_KEYS_MAX> sunt deja alocate."
+
+#. 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 ""
+"În caz de eroare, B<pthread_key_delete> și B<pthread_setspecific> returnează "
+"următorul cod de eroare:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid "I<key> is not a valid, allocated TSD key."
+msgstr "I<key> nu este o cheie TSD validă, alocată."
+
+#. 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 ""
+"B<pthread_getspecific> returnează B<NULL> dacă I<key> nu este o cheie TSD "
+"validă, alocată."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "CONSULTAȚI ȘI"
+
+#. 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 "pthread_create(3), pthread_exit(3), pthread_testcancel(3)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+#, no-wrap
+msgid "EXAMPLE"
+msgstr "EXEMPLU"
+
+#. 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 ""
+"Următorul fragment de cod alocă o matrice de 100 de caractere specifică "
+"firului de execuție, cu recuperare automată la ieșirea din fir:"
+
+#. 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 ""
+"B</* Cheia pentru memoria tampon specifică firului */\n"
+"static pthread_key_t buffer_key;\n"
+"\\&\n"
+"/* O singură inițializare a cheii */\n"
+"static pthread_once_t buffer_key_once = PTHREAD_ONCE_INIT;\n"
+"\\&\n"
+"/* Alocarea memoriei tampon specifice firului */\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"
+"/* Returnează memoria tampon specifică firului */\n"
+"char * get_buffer(void)\n"
+"{\n"
+" return (char *) pthread_getspecific(buffer_key);\n"
+"}\n"
+"\\&\n"
+"/* Alocarea cheii */\n"
+"static void buffer_key_alloc()\n"
+"{\n"
+" pthread_key_create(&buffer_key, buffer_destroy);\n"
+"}\n"
+"\\&\n"
+"/* Eliberează memoria tampon specifică firului */\n"
+"static void buffer_destroy(void * buf)\n"
+"{\n"
+" free(buf);\n"
+"}>\n"
+
+#. type: TH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "PTHREAD_SPECIFIC"
+msgstr "PTHREAD_SPECIFIC"
+
+#. type: TH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "LinuxThreads"
+msgstr "LinuxThreads"
+
+#. 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 ""
+"B<int pthread_key_create(pthread_key_t *>I<key>B<, void "
+"(*>I<destr_function>B<) (void *));>"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<int pthread_key_delete(pthread_key_t >I<key>B<);>"
+msgstr "B<int pthread_key_delete(pthread_key_t >I<key>B<);>"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid ""
+"B<int pthread_setspecific(pthread_key_t >I<key>B<, const void "
+"*>I<pointer>B<);>"
+msgstr ""
+"B<int pthread_setspecific(pthread_key_t >I<key>B<, const void "
+"*>I<pointer>B<);>"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<void * pthread_getspecific(pthread_key_t >I<key>B<);>"
+msgstr "B<void * pthread_getspecific(pthread_key_t >I<key>B<);>"
+
+#. 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 ""
+"Programele au adesea nevoie de variabile globale sau statice care au valori "
+"diferite în diferite fire de execuție. Deoarece firele de execuție împart un "
+"singur spațiu de memorie, acest lucru nu poate fi realizat cu variabile "
+"obișnuite. Datele specifice firelor de execuție reprezintă răspunsul POSIX "
+"la această necesitate."
+
+#. 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 ""
+"Fiecare fir de execuție are un bloc de memorie privat, zona de date "
+"specifică firului de execuție sau, pe scurt, zona TSD. Această zonă este "
+"indexată cu ajutorul cheilor TSD. Zona TSD asociază valori de tip B<void *> "
+"cheilor TSD. Cheile TSD sunt comune tuturor firelor, dar valoarea asociată "
+"unei anumite chei TSD poate fi diferită în fiecare fir."
+
+#. 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 ""
+"B<pthread_key_create> alocă o nouă cheie TSD. Cheia este stocată în locația "
+"indicată de I<key>. Există o limită de B<PTHREAD_KEYS_MAX> pentru numărul de "
+"chei alocate la un moment dat. Valoarea asociată inițial cheii returnate "
+"este B<NULL> în toate firele de execuție în curs."
+
+#. 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 ""
+"Argumentul I<destr_function>, dacă nu este B<NULL>, specifică o funcție de "
+"distrugere asociată cu cheia. Atunci când un fir de execuție se termină prin "
+"B<pthread_exit> sau prin anulare, I<destr_function> este apelată cu "
+"argumentele valorii asociate cheii în acel fir de execuție. "
+"I<destr_function> nu este apelată dacă valoarea respectivă este B<NULL>. "
+"Ordinea în care sunt apelate funcțiile de distrugere în momentul terminării "
+"firului nu este specificată."
+
+#. 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 ""
+"Înainte de apelarea funcției de distrugere, valoarea B<NULL> este asociată "
+"cu cheia în firul curent. Cu toate acestea, o funcție de distrugere ar putea "
+"reasocia valorile non-B<NULL> la această cheie sau la o altă cheie. Pentru a "
+"rezolva această problemă, dacă, după ce toți destructorii au fost apelați "
+"pentru toate valorile non-B<NULL>, mai există încă valori non-B<NULL> cu "
+"destructori asociați, procesul se repetă. Implementarea „LinuxThreads” "
+"oprește procesul după B<PTHREAD_DESTRUCTOR_ITERATIONS> iterații, chiar dacă "
+"mai rămân câteva valori non-B<NULL> cu descriptori asociați. Alte "
+"implementări pot efectua bucle la nesfârșit."
+
+#. 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 ""
+"B<pthread_key_delete> anulează alocarea unei chei TSD. Nu verifică dacă "
+"există valori non-B<NULL> asociate cu cheia respectivă în firele de execuție "
+"în curs de execuție și nici nu apelează funcția de distrugere asociată cu "
+"cheia."
+
+#. 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 ""
+"B<pthread_key_create>, B<pthread_key_delete> și B<pthread_setspecific> "
+"returnează 0 în caz de succes și un cod de eroare diferit de zero în caz de "
+"eșec. În caz de succes, B<pthread_key_create> stochează cheia nou alocată în "
+"locația indicată de argumentul său I<key>."
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "B<PTHREAD_KEYS_MAX> keys are already allocated"
+msgstr "Cheile B<PTHREAD_KEYS_MAX> sunt deja alocate"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "I<key> is not a valid, allocated TSD key"
+msgstr "I<key> nu este o cheie TSD validă, alocată"
+
+#. type: SH
+#: debian-bookworm debian-unstable
+#, no-wrap
+msgid "AUTHOR"
+msgstr "AUTOR"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable
+msgid "Xavier Leroy E<lt>Xavier.Leroy@inria.frE<gt>"
+msgstr "Xavier Leroy E<lt>Xavier.Leroy@inria.frE<gt>"
+
+#. 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 ""
+"Următorul fragment de cod alocă o matrice de 100 de caractere specifică "
+"firului de execuție, cu recuperare automată la ieșirea din fir:"
+
+#. 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 ""
+"B</* Cheia pentru memoria tampon specifică firului */\n"
+"static pthread_key_t buffer_key;>\n"
+
+#. 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 ""
+"B</* Inițializarea o singură dată a cheii */\n"
+"static pthread_once_t buffer_key_once = PTHREAD_ONCE_INIT;>\n"
+
+#. 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 ""
+"B</* Alocarea memoriei tampon specifice firului */\n"
+"void buffer_alloc(void)\n"
+"{\n"
+" pthread_once(&buffer_key_once, buffer_key_alloc);\n"
+" pthread_setspecific(buffer_key, malloc(100));\n"
+"}>\n"
+
+#. 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 ""
+"B</* Returnează memoria tampon specifică firului */\n"
+"char * get_buffer(void)\n"
+"{\n"
+" return (char *) pthread_getspecific(buffer_key);\n"
+"}>\n"
+
+#. 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 ""
+"B</* Alocarea cheii */\n"
+"static void buffer_key_alloc()\n"
+"{\n"
+" pthread_key_create(&buffer_key, buffer_destroy);\n"
+"}>\n"
+
+#. 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 ""
+"B</* Eliberează memoria tampon specifică firului */\n"
+"static void buffer_destroy(void * buf)\n"
+"{\n"
+" free(buf);\n"
+"}>\n"