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

読み取りロックの獲得の試行

rwlp が指す読み取り/書き込みロック上に読み取りロックを獲得しようとするには、rw_tryrdlock(3C) を使用します。

rw_tryrdlock の構文

#include <synch.h>  (or #include <thread.h>)

int rw_tryrdlock(rwlock_t *rwlp);

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

rw_tryrdlock の戻り値

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


EINVAL

説明:

引数が無効です。


EFAULT

説明:

rwlp が指すアドレスが正しくありません。


EBUSY

説明:

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