wiki:pthread_spin_init

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

--

Nom

pthread_spin_init- Initialise un verrou à une attente active (objet de synchronisation temps-réel)

Synopsis

#include <pthread.h>
int pthread_spin_init(pthread_spinlock_t *lock, int pshared);

Description

pthread_spin_init() devra réserver toute ressource nécessaire pour pouvoir utiliser le verrou référencé par lock.
Dans MUTEKP tout est des threads, par conséquence, l'option de synchronisation Process-Shared n'est pas supportée.
La valeur de l'argument pshared est ignorée.
Un verrou initialisé par pthread_spin_init() est utilisable par touts les threads de l'application.

Le résultat est indéfini si pthread_spin_init() est appelé en précisant une référence à un verrou déjà initialisé, le résultat est de même si un verrou est utilisé sans être initialisé par avant.

Si l'appel à pthread_spin_init() a échoué, le verrou n'est pas initialisé et le contenu de lock est indéfini.

Le seul moyen valide pour faire une synchronisation est d'utiliser l'objet référencé par lock.

Valeur Renvoyée

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

Erreurs

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

EINVAL
l'argument attr est null
ENOMEM
plus de ressources mémoires pour pouvoir initialiser le verrou lock.

Auteur

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

Voir Aussi

pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock.