Mutex属性オブジェクトのprocess-shared属性の設定をします。
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared);
pthread_mutexattr_setpshared()は、attrが参照するMutex属性オブジェクトのprocess-shared属性の値を設定します。
process-shared属性にPTHREAD_PROCESS_SHAREDをセットすると、Mutexが確保されているメモリにアクセス出来るどのスレッドでも、Mutexを操作出来るように許可します。そのMutexがあるメモリが複数のプロセスに共有されていても許可します。
process-shared属性にPTHREAD_PROCESS_PRIVATEをセットすると、そのMutex属性オブジェクトを用いて初期化したMutexは、スレッドを作成したプロセスと同じプロセス内のスレッドにしか操作出来なくなります。他のプロセスのスレッドがそのようなMutexを操作しようとした時の挙動は未定義です。
process-shared属性のデフォルトの値はPTHREAD_PROCESS_PRIVATEです。
pthread_mutexattr_setpshared()が成功した時には0を返します。エラーの時はエラーに応じた値を返します。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家