diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ro/man3/pthread_key_create.3.po | |
parent | Initial commit. (diff) | |
download | manpages-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.po | 674 |
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" |