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

読み取り/書き込みロック属性の設定

pthread_rwlockattr_setpshared(3C) は、プロセス共通の読み取り/書き込みロック属性を設定します。

pthread_rwlockattr_setpshared の構文

#include <pthread.h>
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, int pshared);

pshared ロック属性は、次のいずれかの値を持ちます。


PTHREAD_PROCESS_SHARED

説明:

読み取り/書き込みロックが割り当てられているメモリーにアクセスできるすべてのスレッドに、読み取り/書き込みロックの操作を許可します。読み取り/書き込みロックが複数のプロセスによって共有されているメモリーに割り当てられている場合にも、ロックの操作を許可します。


PTHREAD_PROCESS_PRIVATE

説明:

読み取り/書き込みロックを操作できるのは、そのロックを初期化したスレッドと同じプロセス内で作成されたスレッドだけです。異なるプロセスのスレッドから読み取り/書き込みロックを操作しようとした場合、その結果は未定義です。プロセス共有の属性のデフォルト値は、PTHREAD_PROCESS_PRIVATE です。

pthread_rwlockattr_setpshared の戻り値

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


EINVAL

説明:

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