Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


pthread_rwlockattr_setkind_np(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |STANDARDS |HISTORY |SEE ALSO |COLOPHON

pthread_...etkind_np(3)  Library Functions Manualpthread_...etkind_np(3)

NAME        top

       pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np -       set/get the read-write lock kind of the thread read-write lock       attribute object

LIBRARY        top

       POSIX threads library (libpthread,-lpthread)

SYNOPSIS        top

#include <pthread.h>int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,intpref);int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *restrictattr,int *restrictpref);   Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):pthread_rwlockattr_setkind_np(),pthread_rwlockattr_getkind_np():           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L

DESCRIPTION        top

       Thepthread_rwlockattr_setkind_np() function sets the "lock kind"       attribute of the read-write lock attribute object referred to byattr to the value specified inpref.  The argumentpref may be set       to one of the following:PTHREAD_RWLOCK_PREFER_READER_NP              This is the default.  A thread may hold multiple read              locks; that is, read locks are recursive.  According to The              Single Unix Specification, the behavior is unspecified when              a reader tries to place a lock, and there is no write lock              but writers are waiting.  Giving preference to the reader,              as is set byPTHREAD_RWLOCK_PREFER_READER_NP, implies that              the reader will receive the requested lock, even if a              writer is waiting.  As long as there are readers, the              writer will be starved.PTHREAD_RWLOCK_PREFER_WRITER_NP              This is intended as the write lock analog ofPTHREAD_RWLOCK_PREFER_READER_NP.  This is ignored by glibc              because the POSIX requirement to support recursive read              locks would cause this option to create trivial deadlocks;              instead usePTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP              which ensures the application developer will not take              recursive read locks thus avoiding deadlocks.PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP              Setting the lock kind to this avoids writer starvation as              long as any read locking is not done in a recursive              fashion.       Thepthread_rwlockattr_getkind_np() function returns the value of       the lock kind attribute of the read-write lock attribute object       referred to byattr in the pointerpref.

RETURN VALUE        top

       On success, these functions return 0.  Given valid pointer       arguments,pthread_rwlockattr_getkind_np() always succeeds.  On       error,pthread_rwlockattr_setkind_np() returns a nonzero error       number.

ERRORS        top

EINVALpref specifies an unsupported value.

STANDARDS        top

       GNU; hence the suffix "_np" (nonportable) in the names.

HISTORY        top

       glibc 2.1.

SEE ALSO        top

pthreads(7)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17pthread_...etkind_np(3)

Pages that refer to this page:pthreads(7)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp