rwlp が指す読み取り/書き込みロック上に読み取りロックを獲得しようとするには、rw_tryrdlock(3C) を使用します。
#include <synch.h> (or #include <thread.h>) int rw_tryrdlock(rwlock_t *rwlp);
読み取り/書き込みロックが書き込み用にロックされているとき、rw_tryrdlock() はエラーを返します。そうでなければ、呼び出しスレッドは読み取りロックを獲得します。POSIX スレッドの場合については、「pthread_rwlock_tryrdlock の構文」を参照してください。
rw_tryrdlock()は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を返します。
EINVAL
説明:引数が無効です。
EFAULT
説明:rwlp が指すアドレスが正しくありません。
EBUSY
説明:rwlp が指す読み取り/書き込みロックがすでにロックされています。