Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       pthread_rwlockattr_setkind_np,  pthread_rwlockattr_getkind_np - stabilește/obține tipul de
       blocare de citire-scriere a obiectului atribut de blocare de citire-scriere a  firului  de
       execuție

BIBLIOTECA

       Biblioteca de fire de execuție POSIX (libpthread, -lpthread)

REZUMAT

       #include <pthread.h>

       int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,
                              int pref);
       int pthread_rwlockattr_getkind_np(
                              const pthread_rwlockattr_t *restrict attr,
                              int *restrict pref);

   Cerințe   pentru   macrocomenzi  de  testare  a  caracteristicilor  pentru  glibc  (consultați
   feature_test_macros(7)):

       pthread_rwlockattr_setkind_np(), pthread_rwlockattr_getkind_np():
           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L

DESCRIERE

       Funcția pthread_rwlockattr_setkind_np() stabilește atributul „lock kind” (tip blocare)  al
       obiectului  atribut  de  blocare  la citire-scriere la care face referire attr la valoarea
       specificată în pref.  Argumentul pref poate fi stabilit la una dintre următoarele valori:

       PTHREAD_RWLOCK_PREFER_READER_NP
              Aceasta este valoarea implicită.  Un fir de execuție poate deține mai multe blocaje
              de citire; adică, blocajele de citire sunt recursive.  Conform specificației Single
              Unix  Specification,  comportamentul  este  nespecificat  atunci  când  un  cititor
              încearcă  să  plaseze  un  blocaj și nu există un blocaj de scriere, dar scriitorii
              sunt în așteptare.  Acordarea preferinței cititorului, așa cum  este  stabilită  de
              PTHREAD_RWLOCK_PREFER_READER_NP,  implică  faptul  că  cititorul  va primi blocajul
              solicitat, chiar dacă un  scriitor  așteaptă.   Atâta  timp  cât  există  cititori,
              scriitorul va fi lipsit de blocare.

       PTHREAD_RWLOCK_PREFER_WRITER_NP
              Aceasta   este  considerată  ca  fiind  analogul  de  blocare  la  scriere  al  lui
              PTHREAD_RWLOCK_PREFER_READER_NP. Aceasta este ignorată de  glibc  deoarece  cerința
              POSIX de a suporta blocaje de citire recursive ar face ca această opțiune să creeze
              blocaje        mortale        triviale;        în         schimb,         utilizați
              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP    care   asigură   că   dezvoltatorul
              aplicației nu va lua blocaje de citire recursive, evitând astfel blocajele mortale.

       PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
              Stabilirea tipului de blocare la această valoare evită privarea scriitorului, atâta
              timp cât blocarea la citire nu se face în mod recursiv.

       Funcția pthread_rwlockattr_getkind_np() returnează valoarea atributului tipului de blocare
       al obiectului atribut de blocare pentru citire-scriere  la  care  face  referire  attr  în
       indicatorul pref.

VALOAREA RETURNATĂ

       În  caz  de  succes,  aceste  funcții returnează 0.  În cazul unor argumente valide pentru
       pointer,  pthread_rwlockattr_getkind_np()  reușește  întotdeauna.   În  caz   de   eroare,
       pthread_rwlockattr_setkind_np() returnează un număr de eroare diferit de zero.

ERORI

       EINVAL pref specifică o valoare neacceptată.

VERSIUNI

       Funcțiile  pthread_rwlockattr_getkind_np()  și  pthread_rwlockattr_setkind_np()  au apărut
       pentru prima dată în glibc 2.1.

STANDARDE

       Aceste funcții sunt extensii GNU nestandardizate; de aici și sufixul „_np” („neportabilă”)
       din nume.

CONSULTAȚI ȘI

       pthreads(7)

TRADUCERE

       Traducerea  în  limba  română  a  acestui  manual  a  fost  creată  de Remus-Gabriel Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui  manual,  vă  rugăm  să  trimiteți  un  e-mail  la
       ⟨translation-team-ro@lists.sourceforge.net⟩.