.\" Copyright (c) 2017, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH pthread_mutexattr_getpshared 3 2023-03-30 "Linux man-pages 6.04" .SH NAME pthread_mutexattr_getpshared, pthread_mutexattr_setpshared \- get/set process-shared mutex attribute .SH LIBRARY POSIX threads library .RI ( libpthread ", " \-lpthread ) .SH SYNOPSIS .nf .B #include .PP .B int pthread_mutexattr_getpshared( .BI " const pthread_mutexattr_t *restrict " attr , .BI " int *restrict " pshared ); .BI "int pthread_mutexattr_setpshared(pthread_mutexattr_t *" attr , .BI " int " pshared ); .fi .SH DESCRIPTION These functions get and set the process-shared attribute in a mutex attributes object. This attribute must be appropriately set to ensure correct, efficient operation of a mutex created using this attributes object. .PP The process-shared attribute can have one of the following values: .TP .B PTHREAD_PROCESS_PRIVATE Mutexes created with this attributes object are to be shared only among threads in the same process that initialized the mutex. This is the default value for the process-shared mutex attribute. .TP .B PTHREAD_PROCESS_SHARED Mutexes created with this attributes object can be shared between any threads that have access to the memory containing the object, including threads in different processes. .PP .BR pthread_mutexattr_getpshared () places the value of the process-shared attribute of the mutex attributes object referred to by .I attr in the location pointed to by .IR pshared . .PP .BR pthread_mutexattr_setpshared () sets the value of the process-shared attribute of the mutex attributes object referred to by .I attr to the value specified in .BR pshared . .PP If .I attr does not refer to an initialized mutex attributes object, the behavior is undefined. .SH RETURN VALUE On success, these functions return 0. On error, they return a positive error number. .SH ERRORS .BR pthread_mutexattr_setpshared () can fail with the following errors: .TP .B EINVAL The value specified in .I pshared is invalid. .TP .B ENOTSUP .I pshared is .B PTHREAD_PROCESS_SHARED but the implementation does not support process-shared mutexes. .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2001. .SH SEE ALSO .ad l .nh .BR pthread_mutexattr_init (3), .BR pthreads (7)