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

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

pthread_rwlock_destroy(3C) は、rwlock が参照する読み取り/書き込みロックオブジェクトを削除し、このロックが使用していたすべてのリソースを解放します。

pthread_rwlock_destroy の構文

#include <pthread.h>

int pthread_rwlock_destroy(pthread_rwlock_t **rwlock);

削除したロックを、pthread_rwlock_init() を呼び出して再び初期化する前に使用した場合、その結果は不定です。実装によっては、pthread_rwlock_destroy() により、rwlock が参照するオブジェクトに不正な値が設定される場合もあります。いずれかのスレッドが rwlock() を保持しているときに pthread_rwlock_destroy を呼び出した場合の結果は不定です。初期化されていない読み取り/書き込みロックを削除しようとした場合に発生する動作も不定です。また、削除された読み取り/書き込みロックオブジェクトは、再度 pthread_rwlock_init() で初期化できます。削除した読み取り/書き込みロックオブジェクトを初期化せずに参照した場合も不定です。

pthread_rwlock_destroy の戻り値

pthread_rwlock_destroy() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。


EINVAL

説明:

attr または rwlock が示す値は無効です。