pthread_mutexattr_getpshared(3)

возвращает/изменяет общепроцессный атрибут мьютекса · man3 · Русский

pthread_mutexattr_getpshared(3) Library Functions Manual pthread_mutexattr_getpshared(3)

pthread_mutexattr_getpshared, pthread_mutexattr_setpshared - возвращает/изменяет общепроцессный атрибут мьютекса

POSIX threads library (libpthread, -lpthread)

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

Эти функции возвращают и изменяют общепроцессный атрибут мьютекса в объекте атрибутов мьютекса. Данный атрибут должен быть установлен соответствующим образом для обеспечения правильной, эффективной работы мьютекса, созданного с использованием данного объекта атрибутов.

В общепроцессном аргументе можно указать одно из следующих значений:

Мьютексы, созданные с таким объектом атрибутов, будут считаться общими только для нитей одного процесса, инициализировавшего мьютекс. Это значение используется по умолчанию для общепроцессного атрибута мьютекса.
Мьютексы, созданные с таким объектом атрибутов, будут считаться общими между всеми нитями, имеющими доступ к памяти, содержащей объект, даже нити разных процессов.

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

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

Если attr не ссылается на инициализированный объект атрибутов мьютекса, то поведение не определено.

При успешном выполнении эти функции возвращают 0. При ошибке возвращается положительный номер ошибки.

Функция pthread_mutexattr_setpshared() может завершаться со следующими ошибками:

Неверное значение в pshared.
Значение pshared равно PTHREAD_PROCESS_SHARED, но реализация не поддерживает общепроцессные мьютексы.

POSIX.1-2001, POSIX.1-2008.

pthread_mutexattr_init(3), pthreads(7)

Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

30 октября 2022 г. Linux man-pages 6.03