.\" -*- coding: UTF-8 -*- .\"Copyright (c) 2010 Novell Inc., written by Robert Schweikert .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pthread_rwlockattr_setkind_np 3 "2 mai 2024" "Pagini de manual de Linux 6.8" .SH 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 .SH BIBLIOTECA Biblioteca de fire de execuție POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *\fP\fIattr\fP\fB,\fP \fB int \fP\fIpref\fP\fB);\fP \fBint pthread_rwlockattr_getkind_np(\fP \fB const pthread_rwlockattr_t *restrict \fP\fIattr\fP\fB,\fP \fB int *restrict \fP\fIpref\fP\fB);\fP .P .fi .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBpthread_rwlockattr_setkind_np\fP(), \fBpthread_rwlockattr_getkind_np\fP(): .nf _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L .fi .SH DESCRIERE Funcția \fBpthread_rwlockattr_setkind_np\fP() stabilește atributul „lock kind” (tip blocare) al obiectului atribut de blocare la citire\-scriere la care face referire \fIattr\fP la valoarea specificată în \fIpref\fP. Argumentul \fIpref\fP poate fi stabilit la una dintre următoarele valori: .TP \fBPTHREAD_RWLOCK_PREFER_READER_NP\fP 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 \fBPTHREAD_RWLOCK_PREFER_READER_NP\fP, 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. .TP \fBPTHREAD_RWLOCK_PREFER_WRITER_NP\fP .\" --- .\" Here is the relevant wording: .\" .\" A thread may hold multiple concurrent read locks on rwlock (that is, .\" successfully call the pthread_rwlock_rdlock() function n times). If .\" so, the thread must perform matching unlocks (that is, it must call .\" the pthread_rwlock_unlock() function n times). .\" .\" By making write-priority work correctly, I broke the above requirement, .\" because I had no clue that recursive read locks are permissible. .\" .\" If a thread which holds a read lock tries to acquire another read lock, .\" and now one or more writers is waiting for a write lock, then the algorithm .\" will lead to an obvious deadlock. The reader will be suspended, waiting for .\" the writers to acquire and release the lock, and the writers will be .\" suspended waiting for every existing read lock to be released. .\" --- .\" https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html .\" https://sourceware.org/legacy-ml/libc-alpha/2000-01/msg00055.html .\" https://sourceware.org/bugzilla/show_bug.cgi?id=7057 Aceasta este considerată ca fiind analogul de blocare la scriere al lui \fBPTHREAD_RWLOCK_PREFER_READER_NP\fP. 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 \fBPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\fP care asigură că dezvoltatorul aplicației nu va lua blocaje de citire recursive, evitând astfel blocajele mortale. .TP \fBPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\fP Stabilirea tipului de blocare la această valoare evită privarea scriitorului, atâta timp cât blocarea la citire nu se face în mod recursiv. .P Funcția \fBpthread_rwlockattr_getkind_np\fP() returnează valoarea atributului tipului de blocare al obiectului atribut de blocare pentru citire\-scriere la care face referire \fIattr\fP în indicatorul \fIpref\fP. .SH "VALOAREA RETURNATĂ" În caz de succes, aceste funcții returnează 0. În cazul unor argumente valide pentru pointer, \fBpthread_rwlockattr_getkind_np\fP() reușește întotdeauna. În caz de eroare, \fBpthread_rwlockattr_setkind_np\fP() returnează un număr de eroare diferit de zero. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP \fIpref\fP specifică o valoare neacceptată. .SH STANDARDE GNU; de aici și sufixul „_np” (neportabil) din denumiri. .SH ISTORIC glibc 2.1. .SH "CONSULTAȚI ȘI" \fBpthreads\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .