table of contents
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
pthread_rwlockattr_setkind_np(3) | Library Functions Manual | pthread_rwlockattr_setkind_np(3) |
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);
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¶
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 à debian-l10n-french@lists.debian.org.
2 mai 2024 | Pages du manuel de Linux 6.8 |