pthread_mutex_consistent(3)

NUME
pthread_mutex_consistent - face un „mutex” robust să fie consistent

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

REZUMAT
#include <pthread.h>

int pthread_mutex_consistent(pthread_mutex_t *mutex);

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

pthread_mutex_consistent():
    _POSIX_C_SOURCE >= 200809L

DESCRIERE
Această funcție face ca un mutex robust să devină consecvent dacă se află într-o stare inconsecventă. Un mutex poate fi lăsat într-o stare inconsistentă dacă proprietarul său încetează în timp ce deține mutexul, caz în care următorul proprietar care achiziționează mutexul va reuși și va fi notificat printr-o valoare de întoarcere EOWNERDEAD de la un apel la pthread_mutex_lock().

VALOAREA RETURNATĂ
În caz de succes, pthread_mutex_consistent() returnează 0. În caz contrar, returnează un număr de eroare pozitiv pentru a indica eroarea.

ERORI

EINVAL
    Mutexul fie nu este robust, fie nu se află într-o stare inconsistentă.

STANDARDE
POSIX.1-2008.

ISTORIC
glibc 2.12. POSIX.1-2008.

Înainte de adăugarea lui pthread_mutex_consistent() la POSIX, glibc definea următoarea funcție non-standard echivalentă în cazul în care era definită _GNU_SOURCE:

[[depreciat]]
int pthread_mutex_consistent_np(const pthread_mutex_t *mutex);

Acest API specific GNU, care a apărut pentru prima dată în glibc 2.4, este în prezent învechit și nu ar trebui să fie utilizat în programe noi; începând cu glibc 2.34 a fost marcat ca fiind depreciat.

NOTE
pthread_mutex_consistent() informează pur și simplu implementarea că starea (datele partajate) protejată de mutex a fost readusă la o stare consistentă și că operațiile normale pot fi efectuate acum cu mutexul. Este responsabilitatea aplicației să se asigure că datele partajate au fost readuse într-o stare coerentă înainte de a apela pthread_mutex_consistent().

EXEMPLE
A se vedea pthread_mutexattr_setrobust(3).

CONSULTAȚI ȘI
pthread_mutex_lock(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_init(3), pthread_mutexattr_setrobust(3), 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.