Version 2 (modified by 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.