pthread_mutexattr_setpshared()

Установить значение атрибута совместного использования для заданного мьютекса

Прототип:

#include <pthread.h>
int pthread_mutexattr_setpshared( pthread_mutexattr_t *attr,
int pshared );

Аргументы:

attr
Указатель на объект pthread_mutexattr_t, в котором требуется установить атрибут.
pshared
Новое значение атрибута совместного использования; одно из следующих:
PTHREAD_PROCESS_SHARED
любой поток, имеющий доступ к памяти, в которой выделен мьютекс, может работать с ним, даже если мьютекс выделен в памяти, совместно используемой несколькими процессами.
PTHREAD_PROCESS_PRIVATE
доступ к мьютексу могут получить только потоки, созданные в том же процессе, что и поток, инициализировавший мьютекс; если потоки из других процессов пытаются получить доступ к мьютексу PTHREAD_PROCESS_PRIVATE, поведение не определено.
Значением по умолчанию для атрибута общего процесса является PTHREAD_PROCESS_PRIVATE.

Библиотека:

libc

Описание:

Функция pthread_mutexattr_setpshared() устанавливает для атрибута совместного использования в объекте атрибута мьютекса, attr, значение pshared.

Возвращаемое значение:

EOK
Успешное завершение.
EINVAL
Некорректный объект attr.
EINVAL
Новое значение, указанное в pshared, не равно PTHREAD_PROCESS_SHARED или PTHREAD_PROCESS_PRIVATE.

Классификация:

POSIX 1003.1 THR TSH

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

pthread_cond_init(), pthread_create(), pthread_mutexattr_getpshared(), pthread_mutexattr_getrecursive(), pthread_mutex_init(), pthread_mutexattr_setrecursive(), pthread_mutexattr_settype()




Предыдущий раздел: Описание API системной библиотеки