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

読み取り/書き込みロックの解除

rwlp が指す読み取り/書き込みロックを解除するには、rw_unlock(3C) を使用します。

rw_unlock の構文

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

int rw_unlock(rwlock_t *rwlp);

解除の対象となる読み取り/書き込みロックは、ロックされていて、呼び出しスレッドが読み取り用または書き込み用に保持しているものでなければなりません。その読み取り/書き込みロックが使用可能になるのを待っているスレッドがほかにある場合は、そのスレッドのうちの 1 つがブロック解除されます。POSIX スレッドの場合については、pthread_rwlock_unlock の構文」を参照してください。

rw_unlock の戻り値

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


EINVAL

説明:

引数が無効です。


EFAULT

説明:

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