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

NOM

       pthread_spin_lock,    pthread_spin_trylock,    pthread_spin_unlock    —   Verrouiller   et
       déverrouiller un verrou tournant

BIBLIOTHÈQUE

       Bibliothèque de threads POSIX (libpthread, -lpthread)

SYNOPSIS

       #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);

   Exigences   de   macros   de   test   de   fonctionnalités   pour    la    glibc    (consulter
   feature_test_macros(7)) :

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

DESCRIPTION

       La fonction pthread_spin_lock() verrouille le verrou tournant auquel se réfère lock. Si le
       verrou tournant est actuellement déverrouillé,  le  thread  appelant  acquiert  le  verrou
       immédiatement.  Si  le verrou tournant est actuellement verrouillé par un autre thread, le
       thread appelant est en attente  active,  testant  le  verrou  jusqu'à  ce  qu'il  devienne
       disponible et, à ce moment là, le thread appelant acquiert le verrou.

       Appeler  pthread_attr_init()  sur  un verrou qui est déjà possédé par l'appelant ou sur un
       verrou qui n'a pas été initialisé avec pthread_spin_init(3)  résulte  en  un  comportement
       indéfini.

       La  fonction  pthread_spin_trylock()  est  similaire à pthread_spin_lock(), sauf que si le
       verrou tournant auquel se réfère lock est actuellement verrouillé, alors, au  lieu  d'être
       en attente active, l'appel se termine immédiatement avec l'erreur EBUSY.

       La  fonction  pthread_spin_unlock() déverrouille le verrou tournant auquel se réfère lock.
       Si des threads sont en attente active sur le verrou, un de ces threads acquiert le verrou.

       Appeler pthread_spin_unlock() sur un verrou qui n'est pas possédé par  l'appelant  résulte
       en un comportement indéfini.

VALEUR RENVOYÉE

       En  cas  de réussite, ces fonction renvoient 0. En cas d'erreur, elles renvoient un numéro
       d'erreur.

ERREURS

       pthread_spin_lock() peut échouer avec les erreurs suivantes :

       EDEADLOCK
              Le système a détecté une situation d'interblocage.

       pthread_spin_trylock() peut échouer avec les erreurs suivantes :

       EBUSY  Le verrou tournant est actuellement verrouillé par un autre thread.

VERSIONS

       Ces fonctions ont été introduites dans la glibc 2.2.

STANDARDS

       POSIX.1-2001.

NOTES

       Appliquer une des fonctions décrites dans cette page à un verrou tournant  non  initialisé
       résulte en un comportement indéfini.

       Lisez soigneusement les NOTES dans pthread_spin_init(3).

VOIR AUSSI

       pthread_spin_destroy(3), pthread_spin_init(3), pthreads(7)

TRADUCTION

       La traduction française de cette page de manuel a été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-
       luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Frédéric Hantrais
       <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General
       Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.