Manpages - pthread_mutexattr_getpshared.3

Table of Contents

NAME

pthread_mutexattr_getpshared, pthread_mutexattr_setpshared - get/set process-shared mutex attribute

SYNOPSIS

  #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);

Compile and link with -pthread.

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.

The process-shared attribute can have one of the following values:

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.
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.

*pthread_mutexattr_getpshared*() places the value of the process-shared attribute of the mutex attributes object referred to by attr in the location pointed to by pshared.

pthread_mutexattr_setpshared*() sets the value of the process-shared attribute of the mutex attributes object referred to by attr to the value specified in *pshared.

If attr does not refer to an initialized mutex attributes object, the behavior is undefined.

RETURN VALUE

On success, these functions return 0. On error, they return a positive error number.

ERRORS

*pthread_mutexattr_setpshared*() can fail with the following errors:

EINVAL
The value specified in pshared is invalid.
ENOTSUP
pshared is PTHREAD_PROCESS_SHARED but the implementation does not support process-shared mutexes.

CONFORMING TO

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

SEE ALSO

*pthread_mutexattr_init*(3), *pthreads*(7)

COLOPHON

This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Author: dt

Created: 2022-02-20 Sun 18:35