この関数は、引き数 rwlock によって指定された読み取り / 書き込みロックに読み取りロックを適用します。書き込み機能がロックを保留しておらず、ロックに対してブロックされた書き込みがない場合は、呼び出しスレッドは、読み取りロックを獲得します。それ以外の場合、呼び出しスレッドは読み取りロックを獲得しません。読み取りロックが獲得されない場合、呼び出しスレッドは、ロックを獲得できるまでブロックします (つまり、f_pthread_rwlock_rdlock 呼び出しから戻りません)。呼び出しが行われたときに、この呼び出しスレッドが書き込みロックを rwlock に対して保留している場合の結果は未定義です。スレッドは複数の並列の読み取りロックを rwlock に対して保留にすることがあります (つまり、f_pthread_rwlock_rdlock 関数を n 回呼び出すことに成功する)。その場合、スレッドは、アンロックのマッチングを実行しなければなりません (つまり、f_pthread_rwlock_unlock 関数を n 回呼び出さなければならない)。
戻りコード
この関数が正常に完了すると、値 0 を戻します。 そうでない場合には、以下のいずれかのエラー・コードを戻します。
例
integer(4) function f_pthread_rwlock_rdlock(rwlock) type(f_pthread_rwlock_t), intent(inout):: rwlock end function f_pthread_rwlock_rdlock