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);

    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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.