pthread_mutex_consistent(3) | Library Functions Manual | 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);
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-IEȘIRE
- 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 făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 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.
31 octombrie 2023 | Pagini de manual de Linux 6.06 |