マルチスレッドのプログラミング

読み取りロックの獲得

rw_rdlock(3THR)


#include <synch.h> (または #include <thread.h>)

int rw_rdlock(rwlock_t *rwlp);

rw_rdlock(3THR) は、rwlp が指す読み取り / 書き込みロックの読み取りロックを獲得します。指定した読み取り / 書き込みロックが書き込み用にすでにロックされている場合、呼び出しスレッドは書き込みロックが解放されるまでブロックされます。そうでなければ、読み取りロックを獲得します。(POSIX スレッドについては、「pthread_rwlock_rdlock(3THR)」を参照)。

戻り値

正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を戻します。


EINVAL

引数が無効です。


EFAULT

rwlp が無効なアドレスを指しています。