日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PTHREAD_RWLOCK_RDLO... FreeBSD ライブラリ関数マニュアル PTHREAD_RWLOCK_RDLO... 名称 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock -- 読み込みのための読み込 み/書み込みロックを獲得する ライブラリ POSIX スレッドライブラリ (libpthread, -lpthread) 書式 #include <pthread.h> int pthread_rwlock_rdlock(pthread_rwlock_t *lock); int pthread_rwlock_tryrdlock(pthread_rwlock_t *lock); 解説 pthread_rwlock_rdlock() 関数は、lock が書き込みのために現在保持されず、書 き込み側のスレッドが現在そのロックでブロックされていないならば、lock で読 み込みロックを獲得しま。読み込みロックが直ちに獲得することができないな ら、呼び出しているスレッドは、ロックを獲得することができるまで、ブロック します。 pthread_rwlock_tryrdlock() 関数は、同じアクションを実行しますが、ロックを 直ちに取得することができないなら (すなわち、ロックが書き込みのために保持 されているか、またはウェート (待つ) している書き込み側がある)、ブロックし ません。 1 つのスレッドは、複数の同時に起こる読み込みロックを保持できます。そうで あるなら、pthread_rwlock_unlock() は、取得されたロック毎に一度呼び出され なければなりません。 呼び出しているスレッドが書き込みロックを保持している間、読み込みロックを 獲得する結果は、未定義です。 実装に関する注 書き込み側の飢餓状態を防ぐために、書き込み側は、読み込み側より優先されま す。 戻り値 成功したなら、pthread_rwlock_rdlock() と pthread_rwlock_tryrdlock() 関数 は、0 を返します。そうでなければ、エラー番号がエラーを示すために返されま す。 エラー pthread_rwlock_tryrdlock() 関数は、次の場合に失敗します: [EBUSY] 書み込み側がロックを保持しているか、またはブロックされ ていたので、ロックが獲得できませんでした。 pthread_rwlock_rdlock() と pthread_rwlock_tryrdlock() 関数は、次の場合に 失敗します: [EAGAIN] lock に対する読み込みロックの最大数を既に越えているの で、ロックが獲得できませんでした。 [EDEADLK] 現在のスレッドが既に書み込みのための lock を所有してい ます。 [EINVAL] lock によって指定された値が無効です。 [ENOMEM] (静的に初期化されたロックだけに適用される) ロックを初 期化するために存在するメモリが不足しています。 関連項目 pthread_rwlock_init(3), pthread_rwlock_trywrlock(3), pthread_rwlock_unlock(3), pthread_rwlock_wrlock(3) 規格 pthread_rwlock_rdlock() と pthread_rwlock_tryrdlock() 関数は、Version 2 of the Single UNIX Specification (``SUSv2'') に適合するはずです。 歴史 pthread_rwlock_rdlock() 関数は、FreeBSD 3.0 ではじめて登場しました。 FreeBSD 13.2 August 4, 1998 FreeBSD 13.2