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

rw_tryrdlock(3T)


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

int rw_tryrdlock(rwlock_t *rwlp);

rw_tryrdlock(3T) は、rwlp が指す読み取り / 書き込みロックの読み取りロックを獲得しようとします。指定した読み取り / 書き込みロックが書き込み用にすでにロックされている場合は、エラーを戻します。そうでなければ、呼び出しスレッドは読み取りロックを獲得します。(POSIX スレッドについては、「pthread_rwlock_tryrdlock(3T)」を参照)。

戻り値

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


EINVAL

引数が無効です。


EFAULT

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


EBUSY

rwlp が指す読み取り / 書き込みロックがすでにロックされています。