pthread_rwlockattr_getpshared() - プロセス共用読み取り/書き込みロック属性の取得

標準

標準/拡張機能 C/C++ 依存項目

z/OS UNIX
Single UNIX Specification、バージョン 3

両方

POSIX(ON)
OS/390 V2R7

形式

#define _OPEN_THREADS
#include <pthread.h>

int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *attr, int *pshared);
SUSV3:
#define _UNIX03_THREADS 
#include <pthread.h>
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *
                                   __restrict__attr, 
                                  int * __restrict__pshared);

機能説明

pthread_rwlockattr_getpshared() 関数は、読み取りまたは書き込みロック属性オブジェクト attr の 属性 pshared を取得します。pthread_rwlockattr_getpshared() 関数で attr を使用することにより、読み取りまたは書き込みロックの process-shared 値を判別することができます。

属性 pshared の有効値は、次のとおりです。
PTHREAD_PROCESS_SHARED
複数プロセスに共用されるメモリーに読み取りまたは書き込みロックが 割り振られている場合でも、読み取りまたは書き込みロックが割り振られている メモリーにアクセスできるスレッドによる、読み取りまたは書き込みロックの 操作を許可します。
PTHREAD_PROCESS_PRIVATE
読み取りまたは書き込みロックを開始したスレッドと同じプロセス内に 作成されたスレッドだけが、読み取りまたは書き込みロックを操作できます。親プロセスによって新しいプロセスが作成されると、新しいプロセスは専用読み取りまたは書き込みロックの別のコピーを受け取ります。この新しい読み取りまたは書き込みロックは、子プロセスのスレッド間のシリアライズにだけ 使用されます。属性のデフォルト値は PTHREAD_PROCESS_PRIVATE です。

戻り値

正常に実行された場合、pthread_rwlockattr_getpshared() は 0 を戻します。

正常に実行されなかった場合、pthread_rwlockattr_getpshared() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EINVAL
attr に指定された値は無効です。

Single UNIX Specification、バージョン 3 の特殊な動作: 正常に実行されなかった場合、pthread_rwlockattr_getpshared() はエラーを示すエラー番号を戻します。

関連情報