Silphire (7255) の日記

2003 年 03 月 22 日
午後 08:08

pthread日記(67) - pthread_rwlock_wrlock()

書き込みの為に読み書きロックをロックします

int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);

pthread_rwlock_wrlock()は、rwlockが参照する読み書きロックに書き込みロックを適用します。他のスレッドがrwlockを読み込み・書き込みの種別の如何に関わらず一切ロックしていなければ、ロックを獲得出来ます。もしどこかのスレッドが既にrwlockをロックしていた場合、pthread_rwlock_wrlock()を呼び出したスレッドはロック出来るまでブロックします。もしpthread_rwlock_wrlock()を呼び出した時に、既に呼び出したスレッド自身が読み込み・書き込みの如何に関わらずロックを獲得していた場合の結果は未定義です。

初期化していない読み書きロックを使ってスレッドをロックしようとした時の結果は未定義です。

読み書きロックへの書き込みロックを待っているスレッドに対してシグナルが配送されてきた時、シグナルハンドラから戻る時にスレッドは書き込みロック待ちから、あたかも割り込みが無かったかのように復帰します。

pthread_rwlock_wrlock()が成功した時には0を返します。エラーの時はエラーに応じた値を返します。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...