plucky (3) pthread_rwlockattr_setkind_np.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np - スレッドの読み書きロック属性オブジェクトの
       読み書きロック種別の設定、取得を行う

書式

       #include <pthread.h>

       int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,
                                          int pref);
       int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *attr,
                                          int *pref);

       -pthread でコンパイルしてリンクする。

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       pthread_rwlockattr_setkind_np(), pthread_rwlockattr_getkind_np():
           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L

説明

       pthread_rwlockattr_setkind_np()  関数は、   attr   が参照する読み書きロック属性オブジェクトの「ロック種別
       (lock kind)」を pref で指定された値に設定する。 引数 pref には以下のいずれか一つを設定できる。

       PTHREAD_RWLOCK_PREFER_READER_NP
              これがデフォルトである。 スレッドは複数の読み出しロックを保持できる。 つまり、読み出しロックは再帰
              的である。 Single Unix Specification では、 読み出し側がロックをかけようとした際に、書き込みロック
              はないが書き込み側が待っていた場合の、動作は規定されていない。  PTHREAD_RWLOCK_PREFER_READER_NP に
              設定し、読み出し側に優先度を与えるということは、  たとえ書き込み側が待っていたとしても、読み出し側
              が要求したロックを受け取ることを意味する。 読み出し側がいる限り、書き込み側は待つことになる。

       PTHREAD_RWLOCK_PREFER_WRITER_NP
              This  is intended as the write lock analog of PTHREAD_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 use PTHREAD_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
              ロック種別をこの値に設定すると、 読み出しロックが再帰的に行われない限りは、 書き込み側の待ちを避け
              ることができる。

       pthread_rwlockattr_getkind_np()  関数は、 attr が参照する読み書きロック属性オブジェクトのロック種別属性の
       値をポインター pref に入れて返す。

返り値

       成功すると、これらの関数は           0           を返す。            有効なポインター引数が渡された場合、
       pthread_rwlockattr_getkind_np() は常に成功する。 エラーの場合、 pthread_rwlockattr_setkind_np() は 0 以外
       のエラー番号を返す。

エラー

       EINVAL pref にサポート外の値が指定された。

バージョン

       関数 pthread_rwlockattr_getkind_np() と pthread_rwlockattr_setkind_np() は glibc 2.1 で初めて登場した。

準拠

       これらの関数は非標準の GNU による拡張である。 そのため、名前に "_np" (non-portable; 移植性がない)  という
       接尾辞が付いている。

関連項目

       pthreads(7)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。