Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

        pthread_spin_lock,  pthread_spin_trylock,  pthread_spin_unlock - blochează și deblochează
       blocajul de rotație

BIBLIOTECA

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

REZUMAT

       #include <pthread.h>

       int pthread_spin_lock(pthread_spinlock_t *lock);
       int pthread_spin_trylock(pthread_spinlock_t *lock);
       int pthread_spin_unlock(pthread_spinlock_t *lock);

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

       pthread_spin_lock(), pthread_spin_trylock():
           _POSIX_C_SOURCE >= 200112L

DESCRIERE

       Funcția  pthread_spin_lock() blochează blocajul de rotație la care face referire lock.  În
       cazul în care blocajul de rotație este  în  prezent  deblocat,  firul  apelant  dobândește
       imediat  blocajul.   În cazul în care blocajul este blocat în prezent de un alt fir, firul
       apelant se rotește, testând blocajul până când acesta devine disponibil,  moment  în  care
       firul apelant preia blocajul.

       Apelarea  pthread_spin_lock()  pe  un  blocaj  care este deja deținut de apelant sau pe un
       blocaj care nu a fost inițializat cu pthread_spin_init(3) are ca rezultat un  comportament
       nedefinit.

       Funcția  pthread_spin_trylock()  este  la fel ca pthread_spin_lock(), cu excepția faptului
       că, dacă blocajul de rotație la care se face referire prin lock este  blocat  în  prezent,
       atunci, în loc să se rotească, apelul se întoarce imediat cu eroarea EBUSY.

       Funcția  pthread_spin_unlock()  deblochează blocajul de rotație referit la lock.  În cazul
       în care există fire de execuție care se rotesc pe  blocaj,  unul  dintre  aceste  fire  va
       dobândi blocajul.

       Apelarea  pthread_spin_unlock()  pe un blocaj care nu este deținut de către apelant are ca
       rezultat un comportament nedefinit.

VALOAREA RETURNATĂ

       În caz de succes, aceste funcții returnează zero.  În caz de eșec, acestea  returnează  un
       număr de eroare.

ERORI

       pthread_spin_lock() poate eșua cu următoarele erori:

       EDEADLOCK
              Sistemul a detectat o condiție de blocaj

       pthread_spin_trylock() eșuează cu următoarele erori:

       EBUSY  Blocajul de rotație este blocat în prezent de un alt fir.

VERSIUNI

       Aceste funcții au fost adăugate în glibc 2.2.

STANDARDE

       POSIX.1-2001.

NOTE

       Aplicarea  oricăreia  dintre  funcțiile descrise în această pagină la un blocaj de rotație
       neinițializat are ca rezultat un comportament nedefinit.

       Citiți cu atenție NOTELE din pthread_spin_init(3).

CONSULTAȚI ȘI

       pthread_spin_destroy(3), pthread_spin_init(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⟩.