table of contents
pthread_mutexattr_getpshared(3) | Library Functions Manual | pthread_mutexattr_getpshared(3) |
ИМЯ¶
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared - возвращает/изменяет общепроцессный атрибут мьютекса
LIBRARY¶
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_PROCESS_PRIVATE
- Мьютексы, созданные с таким объектом атрибутов, будут считаться общими только для нитей одного процесса, инициализировавшего мьютекс. Это значение используется по умолчанию для общепроцессного атрибута мьютекса.
- PTHREAD_PROCESS_SHARED
- Мьютексы, созданные с таким объектом атрибутов, будут считаться общими между всеми нитями, имеющими доступ к памяти, содержащей объект, даже нити разных процессов.
Функция pthread_mutexattr_getpshared() помещает значения общепроцессного атрибута объекта атрибутов мьютекса, на который указывает attr, в расположение, указанное в pshared.
Функция pthread_mutexattr_setpshared() изменяет значения общепроцессного атрибута объекта атрибутов мьютекса, на который указывает attr, на значение, заданное в pshared.
Если attr не ссылается на инициализированный объект атрибутов мьютекса, то поведение не определено.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении эти функции возвращают 0. При ошибке возвращается положительный номер ошибки.
ОШИБКИ¶
Функция pthread_mutexattr_setpshared() может завершаться со следующими ошибками:
СТАНДАРТЫ¶
POSIX.1-2008.
ИСТОРИЯ¶
POSIX.1-2001.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Linux man-pages (unreleased) |