f_pthread_rwlock_rdlock(rwlock)

目的

この関数は、引き数 rwlock によって指定された 読み取り/書き込みロックに読み取りロックを適用します。 書き込み機能がロックを保留せず、 ロック上にブロックされた書き込みがない場合は、 呼び出しスレッドは、読み取りロックを獲得します。それ以外の場合、呼び出しスレッドは読み取りロックを獲得しません。 読み取りロックが獲得されていない場合、呼び出しスレッドは、ロックを獲得できるまで ブロックします (つまり、f_pthread_rwlock_rdlock 呼び出しから戻らない)。 呼び出しが行われたときに、呼び出しスレッドが 書き込みロックを rwlock 上で保留にする場合の結果は未定義です。 スレッドは複数の並列の読み取りロックを rwlock 上で 保留にすることがあります (つまり、f_pthread_rwlock_rdlock 関数 を n 回呼び出すことに成功する)。 その場合、スレッドは、アンロックのマッチングを実行しなければ なりません (つまり、f_pthread_rwlock_unlock 関数 を n 回呼び出さなければならない)。

クラス

関数

引き数の型と属性

rwlock
TYPE(f_pthread_rwlock_t)、INTENT(INOUT)

結果の値と属性

INTEGER(4)

結果の値

正常終了した場合、この関数は 0 を戻します。 それ以外の場合は、以下のいずれかのエラーを戻します。

EAGAIN
rwlock の読み取りロックが最大数を超えているため、 読み取り/書き込みロックを取得できませんでした。

EINVAL
引き数 rwlock が、初期化済みの読み取り/書き込みロック・オブジェクトを 参照していません。
IBM Copyright 2003