wiki:pthread_spin_lock

Version 2 (modified by Ghassan Almaless, 17 years ago) (diff)

--

Nom

pthread_spin_lock - Verrouille un verrou à une attente active (objet de synchronisation temps-réal).

Synopsis

#include <pthread.h>
int pthread_spin_lock(pthread_spinlock_t *lock);

Description

Cette fonction devra verrouiller le verrou à une attente active référencé par lock.

Le thread appelant devra acquérir le verrou lock si n'est pas verrouillé par un autre thread, dans le cas contraire, le thread appelant devra se mettre
en attente active( c-à-d: ne devra pas retourner de la fonction pthread_spin_lock()) jusqu'à que ce que lock redevient disponible.

Le résultat est indéfini si le verrou lock est déjà verrouillé par le thread appelant.

Le résultat est indéfini si le verrou référencé par lock n'a pas été initialisé auparavant par l'appel à la fonction pthread_spin_init

Une verion non-bloquante de cette fonction est pthread_spin_trylock

Valeur Renvoyée

En cas de succès, pthread_spin_destroy() renvoie la valeur 0. En cas d'erreur, un code d'erreur est renvoyé.

Erreurs

La fonction pthread_spin_lock() renvoie l'un des codes d'erreur suivants en cas de problème:

EINVAL
La valeur de lock est nulle ou ne réfère pas à un verrou déjà initialisé.
EDEADLK
L'implémentation a détecté que le thread appelant détient encore le verrou au moment de l'appel

Auteur

Ghassan Almaless <Ghassan.Almalass@…>, <ghassan.almaless@…>, 2007

Voir Aussi

pthread_spin_init, pthread_spin_destroy, pthread_spin_trylock, pthread_spin_unlock.