pthread_rwlockattr_setkind_np(3)

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.