pthread_rwlockattr_destroy

Synopsis

#include <pthread.h>

int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr);

int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);

Status

Implemented

Conformance

IEEE Std 1003.1-2017

Description

The pthread_rwlockattr_destroy() function shall destroy a read-write lock attributes object. A destroyed attr attributes object can be reinitialized using pthread_rwlockattr_init(); the results of otherwise referencing the object after it has been destroyed are undefined.

The pthread_rwlockattr_init() function shall initialize a read-write lock attributes object attr with the default value for all the attributes defined by the implementation. The only attribute supported by Phoenix-RTOS is the process-shared attribute, with the default value PTHREAD_PROCESS_PRIVATE (see pthread_rwlockattr_getpshared()).

Results are undefined if pthread_rwlockattr_init() is called specifying an already initialized attr attributes object.

After a read-write lock attributes object has been used to initialize one or more read-write locks, any function affecting the attributes object (including destruction) shall not affect any previously initialized read-write locks.

The behavior is undefined if the value specified by the attr argument to pthread_rwlockattr_destroy() does not refer to an initialized read-write lock attributes object.

Return value

If successful, the pthread_rwlockattr_destroy() and pthread_rwlockattr_init() functions shall return zero; otherwise, an error number shall be returned to indicate the error.

Errors

The pthread_rwlockattr_init() function shall fail if:

  • ENOMEM - Insufficient memory exists to initialize the read-write lock attributes object.

These functions shall not return an error code of EINTR.

POSIX deviations

No POSIX deviations discovered.