スポンサーリンク

PTHREAD_RWLOCK_INIT(3) FreeBSD ライブラリ関数マニュアル PTHREAD_RWLOCK_INIT(3)

名称

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

ライブラリ

Reentrant C Library (libc_r, −pthread)

書式

#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 (‘‘SUSv2’’) に適合しているはずです。

エラー

pthread_rwlock_init() 関数は、以下の場合に失敗します。

       [EAGAIN]

ロックを初期化するために必要な (メモリ以外の) リソース が、システムに不足しています。

[ENOMEM]
ロックを初期化するための十分なメモリがありません。

[EPERM]
呼び出し側が、その操作を実行するための十分な権利を持っ ていません。

pthread_rwlock_init() 関数は、以下の場合に失敗することがあります。

[EBUSY]
lock
によって参照されているオブジェクトで、以前に初期 化されているがまだ破壊されていない読取り / 書込みロッ クを再初期化しようとしていることを、システムが検出しま した。

[EINVAL]
attr
によって指定された値が無効です。

歴史

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

バグ

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

FreeBSD 10.0 August 4, 1998 FreeBSD 10.0

スポンサーリンク