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

読み取り/書き込みロックの非ブロック書き込みロックの獲得

pthread_rwlock_trywrlock(3C) は、pthread_rwlock_wrlock() と同様に書き込みロックを適用します。ただし、いずれかのスレッドが現時点で rwlock (読み取り用または書き込み用) を保持している場合、この関数は失敗します。

pthread_rwlock_trywrlock の構文

#include <pthread.h>

int pthread_rwlock_trywrlock(pthread_rwlock_t  *rwlock);

pthread_rwlock_trywrlock() が、初期化されていない読み取り/書き込みロックに対して呼び出された場合、その結果は不定です。

pthread_rwlock_trywrlock の戻り値

pthread_rwlock_trywrlock() は、正常に終了して、rwlock が参照する読み取り/書き込みロックに対する書き込みロックが獲得された場合、0 を返します。それ以外の戻り値は、エラーが発生したことを示します。


EBUSY

説明:

読み取りまたは書き込みのための読み取り/書き込みロックがすでにロックされているので、書き込みのための読み取り/書き込みロックを獲得できません。