Man page - pthread_rwlockattr_setkind_np(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

PTHREAD_RWLOCKATTR_SETKIND_NP

名 前
書 式
説 明
返 り 値
エ ラ ー
バ ー ジ ョ ン
準 拠
関 連 項 目
こ の 文 書 に つ い て

名 前

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/ に 書 か れ て い る 。