.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PTHREAD_MUTEXATTR 3 LinuxThreads .SH NUME pthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_settype, pthread_mutexattr_gettype \- atributele de creare a mutex\-urilor .SH REZUMAT \fB#include \fP \fBint pthread_mutexattr_init(pthread_mutexattr_t *\fP\fIattr\fP\fB);\fP \fBint pthread_mutexattr_destroy(pthread_mutexattr_t *\fP\fIattr\fP\fB);\fP \fBint pthread_mutexattr_settype(pthread_mutexattr_t *\fP\fIattr\fP\fB, int \fP\fIkind\fP\fB);\fP \fBint pthread_mutexattr_gettype(const pthread_mutexattr_t *\fP\fIattr\fP\fB, int *\fP\fIkind\fP\fB);\fP .SH DESCRIERE Atributele mutex\-ului pot fi specificate în momentul creării mutex\-ului, trecând un obiect atribut mutex ca al doilea argument la \fBpthread_mutex_init\fP(3). Trecerea lui \fBNULL\fP este echivalentă cu pasarea unui obiect de atribut mutex cu toate atributele stabilite la valorile lor implicite. \fBpthread_mutexattr_init\fP inițializează obiectul atribut mutex \fIattr\fP și îl completează cu valorile implicite pentru atribute. \fBpthread_mutexattr_destroy\fP distruge un obiect atribut mutex, care nu trebuie reutilizat până când nu este reinitializat. \fBpthread_mutexattr_destroy\fP nu face nimic în implementarea LinuxThreads. LinuxThreads suportă un singur atribut mutex: tipul de mutex, care este fie \fBPTHREAD_MUTEX_FAST_NP\fP pentru mutex\-uri „rapide” (fast), \fBPTHREAD_MUTEX_RECURSIVE_NP\fP pentru mutex\-uri „recursive” (recursive) sau \fBPTHREAD_MUTEX_ERRORCHECK_NP\fP pentru mutex\-uri de „verificare a erorilor” (error checking). După cum indică sufixul \fBNP\fP, aceasta este o extensie neportabilă a standardului POSIX și nu ar trebui să fie utilizată în programe portabile. Tipul mutex\-ului determină ce se întâmplă dacă un fir încearcă să blocheze un mutex pe care îl deține deja cu \fBpthread_mutex_lock\fP(3). În cazul în care mutex\-ul este de tipul „rapid”, \fBpthread_mutex_lock\fP(3) suspendă pur și simplu firul apelant pentru totdeauna. În cazul în care mutex\-ul este de tipul „verificare a erorilor”, \fBpthread_mutex_lock\fP(3) returnează imediat cu codul de eroare \fBEDEADLK\fP. În cazul în care mutex\-ul este de tipul „recursiv”, apelul către \fBpthread_mutex_lock\fP(3) se returnează imediat cu un cod de succes. Numărul de ori de câte ori firul care deține mutex\-ul l\-a blocat este înregistrat în mutex. Firul care deține mutex\-ul trebuie să apeleze \fBpthread_mutex_unlock\fP(3) de același număr de ori înainte ca mutex\-ul să revină în starea deblocată. Tipul de mutex implicit este „rapid”, adică \fBPTHREAD_MUTEX_FAST_NP\fP. \fBpthread_mutexattr_settype\fP stabilește atributul de tip mutex din \fIattr\fP la valoarea specificată de \fIkind\fP. \fBpthread_mutexattr_gettype\fP recuperează valoarea curentă a atributului de tip mutex din \fIattr\fP și o stochează în locația indicată de \fIkind\fP. .SH "VALOAREA RETURNATĂ" \fBpthread_mutexattr_init\fP, \fBpthread_mutexattr_destroy\fP și \fBpthread_mutexattr_gettype\fP returnează întotdeauna 0. \fBpthread_mutexattr_settype\fP returnează 0 în caz de succes și un cod de eroare diferit de zero în caz de eroare. .SH ERORI\-IEȘIRE În caz de eroare, \fBpthread_mutexattr_settype\fP returnează următorul cod de eroare: .TP \fBEINVAL\fP \fIkind\fP nu este nici \fBPTHREAD_MUTEX_FAST_NP\fP, nici \fBPTHREAD_MUTEX_RECURSIVE_NP\fP, nici \fBPTHREAD_MUTEX_ERRORCHECK_NP\fP .SH AUTOR Xavier Leroy .SH "CONSULTAȚI ȘI" \fBpthread_mutex_init\fP(3), \fBpthread_mutex_lock\fP(3), \fBpthread_mutex_unlock\fP(3). .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 .