pthread_rwlockattr_setkind_np
Table des matières
Retour à l'index
NOM
pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np — Définir ou
obtenir le type de verrou en lecture/écriture de l'objet d'attribut verrou
de thread
BIBLIOTHÈQUE
Bibliothèque de threads POSIX (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,
int pref);
int pthread_rwlockattr_getkind_np(
const pthread_rwlockattr_t *restrict attr,
int *restrict pref);
Exigences de macros de test de fonctionnalités pour la glibc (consulter
feature_test_macros(7)) :
pthread_rwlockattr_setkind_np(), pthread_rwlockattr_getkind_np() :
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L
DESCRIPTION
La fonction pthread_rwlockattr_setkind_np() définit, à la valeur indiquée
par pref, l'attribut « lock kind » de l'objet d'attribut de thread verrou
en lecture/écriture auquel attr fait référence. L'argument pref peut
être défini à une des valeurs suivantes :
- PTHREAD_RWLOCK_PREFER_READER_NP
-
C'est l'option par défaut. Un thread peut posséder plusieurs verrous en
lecture ; c'est-à-dire que les verrous en écriture sont récursifs. Selon la
Single UNIX Specification, il y a un comportement non spécifié quand un
lecteur essaye de placer un verrou et qu'il n'y a pas de verrou en écriture,
mais que des écrivains sont en attente. Donner la préférence au lecteur, tel
que défini par PTHREAD_RWLOCK_PREFER_READER_NP, implique que le lecteur
recevra le verrou requis, même si un écrivain est en attente. Tant qu'il y a
des lecteurs, l'écrivain ne sera pas alimenté.
- PTHREAD_RWLOCK_PREFER_WRITER_NP
-
Cette option est censée être l'équivalent du verrou en écriture de
PTHREAD_RWLOCK_PREFER_READER_NP. Elle est ignorée par la glibc parce que
l'exigence de POSIX de la prise en charge des verrous récursifs en lecture
pourrait faire que l'option provoque des blocages simples ; il est
préférable d'utiliser PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP qui
assure que le développeur de l'application n'utilisera pas des verrous
récursifs en écriture, évitant ainsi les blocages.
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
-
Définir le type de verrou à cette valeur évite que l'écrivain ne soit pas
alimenté aussi longtemps qu'un verrouillage en lecture n'est pas fait de
façon récursive.
Les fonctions pthread_rwlockattr_getkind_np() renvoient dans le pointeur
pref la valeur de l'attribut de type de verrou de l'objet d'attribut
verrou en lecture/écriture auquel attr fait référence.
VALEUR RENVOYÉE
En cas de succès, ces fonctions renvoient 0. Si des arguments pointeur
valables sont fournis, pthread_rwlockattr_getkind_np() réussit
toujours. En cas d'erreur, pthread_rwlockattr_setkind_np() renvoie un
code d'erreur différent de zéro.
ERREURS
- EINVAL
-
pref spécifie une valeur non admise.
STANDARDS
GNU ; d'où le suffixe « _np » (non portable) dans leur nom.
HISTORIQUE
glibc 2.1.
VOIR AUSSI
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
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- STANDARDS
-
- HISTORIQUE
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:22 GMT, September 19, 2025