tail head cat sleep
QR code linking to this page

manページ  — PTHREAD_RWLOCK_INIT

名称

pthread_rwlock_init – 読取り / 書込みロックの初期化

内容

ライブラリ

Reentrant C\~Library (libc_r, -lc_r)

書式

#include <pthread.h>

int
pthread_rwlock_init(pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr);

解説

pthread_rwlock_init() 関数は、 attr で指定された属性で、読取り / 書込みロックを初期化するために使用されます。 attr が NULL の場合には、デフォルトの読取り / 書込みロック属性が使用されます。

既に初期化されているロックでの pthread_rwlock_init() の呼び出しの結果は、未定義です。

戻り値

問題がない場合は、 pthread_rwlock_init() 関数は 0 を返します。 問題がある場合は、そのエラーを示すためにエラー番号が返されます。

関連項目

pthread_rwlock_destroy(3), pthread_rwlockattr_init(3), pthread_rwlockattr_setpshared(3)

規格

pthread_rwlock_init() 関数は、 Version 2 of the Single UNIX Specification に適合しているはずです。

エラー

pthread_rwlock_init() 関数は、以下の場合に失敗します。
[EAGAIN]
  ロックを初期化するために必要な (メモリ以外の) リソースが、 システムに不足しています。
[ENOMEM]
  ロックを初期化するための十分なメモリがありません。
[EPERM]
  呼び出し側が、その操作を実行するための十分な権利を持っていません。

pthread_rwlock_init() 関数は、以下の場合に失敗することがあります。
[EBUSY]
  lock によって参照されているオブジェクトで、 以前に初期化されているがまだ破壊されていない読取り / 書込みロックを 再初期化しようとしていることを、システムが検出しました。
[EINVAL]
  attr によって指定された値が無効です。

歴史

pthread_rwlock_init() 関数は、 FreeBSD 3.0 ではじめて登場しました。

バグ

PTHREAD_PROCESS_SHARED 属性は、サポートされていません。

PTHREAD_RWLOCK_INIT (3) August 4, 1998

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
— Donald Knuth