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

rw_wrlock(3THR)


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

int rw_wrlock(rwlock_t *rwlp);

rw_wrlock(3THR) は、rwlp が指す読み取り / 書き込みロックの書き込みロックを獲得します。指定した読み取り / 書き込みロックが、読み取りまたは書き込み用にすでにロックされている場合、呼び出しスレッドは、すべての読み取りロックと書き込みロックが解放されるまでブロックされます。読み取り / 書き込みロックの書き込みロックを保持できるスレッドは一度に 1 つに限られます。(POSIX スレッドについては、「pthread_rwlock_wrlock(3THR)」を参照)。

戻り値

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


EINVAL

引数が無効です。


EFAULT

rwlp が不当なアドレスを指しています。