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

バリアーのプロセス共有の属性の設定

pthread_barrierattr_setpshared() 関数は、attr が参照する初期化された属性オブジェクト内のプロセス共有の属性を設定します。プロセス共有の属性は、次のいずれかの値を持ちます。

PTHREAD_PROCESS_PRIVATE

バリアーを操作できるのは、そのバリアーを初期化したスレッドと同じプロセス内で作成されたスレッドだけです。これはプロセス共有の属性のデフォルト値です。

PTHREAD_PROCESS_SHARED

バリアーが割り当てられているメモリーにアクセスできる任意のスレッドがバリアーを操作できます。

pthread_barrierattr_setpshared() の構文

int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr, int pshared);

pthread_barrierattr_setpshared() の戻り値

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


EINVAL

説明:

attr の値が無効か、または pshared に指定された新しい値が無効です。