| 1 | = Nom = |
| 2 | pthread_spin_lock - Verrouille un verrou à une attente active (objet de synchronisation temps-réal). |
| 3 | [[PageOutline]] |
| 4 | |
| 5 | = Synopsis = |
| 6 | #include <pthread.h>[[BR]] |
| 7 | int pthread_spin_lock(pthread_spinlock_t *lock); |
| 8 | |
| 9 | = Description = |
| 10 | Cette fonction devra verrouiller le verrou à une attente active référencé par lock. |
| 11 | |
| 12 | |
| 13 | 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[[BR]] |
| 14 | en attente active( c-à-d: ne devra pas retourner de la fonction pthread_spin_lock()) jusqu'à que ce que lock redevient disponible. |
| 15 | |
| 16 | |
| 17 | Le résultat est indéfini si le verrou lock est déjà verrouillé par le thread appelant. |
| 18 | |
| 19 | |
| 20 | 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 [wiki:pthread_spin_init] |
| 21 | |
| 22 | |
| 23 | Une verion non-bloquante de cette fonction est [wiki:pthread_spin_trylock] |
| 24 | = Valeur Renvoyée = |
| 25 | En cas de succès, pthread_spin_destroy() renvoie la valeur 0. En cas d'erreur, un code d'erreur est renvoyé. |
| 26 | |
| 27 | = Erreurs = |
| 28 | La fonction pthread_spin_lock() renvoie l'un des codes d'erreur suivants en cas de problème: |
| 29 | |
| 30 | EINVAL:: |
| 31 | la valeur de lock est nulle ou ne réfère pas à un verrou déjà initialisé. |
| 32 | EDEADLK:: |
| 33 | L'implémentation a détecté que le thread appelant détient encore le verrou au moment de l'appel |
| 34 | |
| 35 | = Auteur = |
| 36 | Ghassan Almaless <Ghassan.Almalass@asim.lip6.fr>, <ghassan.almaless@gmail.com>, 2007 |
| 37 | |
| 38 | = Voir Aussi = |
| 39 | [wiki:pthread_spin_init], [wiki:pthread_spin_destroy], [wiki:pthread_spin_trylock], [wiki:pthread_spin_unlock]. |