posix-next API 0.1.0
Out-of-tree Zephyr POSIX module
Loading...
Searching...
No Matches
POSIX_RW_LOCKS

POSIX Reader/Writer Locks option group. More...

Macros

#define PTHREAD_RWLOCK_INITIALIZER   _PTHREAD_RWLOCK_INITIALIZER
 Static initialiser for pthread_rwlock_t objects.
 

Functions

int pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
 Destroy a reader-writer lock.
 
int pthread_rwlock_init (pthread_rwlock_t *ZRESTRICT rwlock, const pthread_rwlockattr_t *ZRESTRICT attr)
 Initialise a reader-writer lock.
 
int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
 Acquire a read lock, blocking until available.
 
int pthread_rwlock_timedrdlock (pthread_rwlock_t *ZRESTRICT rwlock, const struct timespec *ZRESTRICT abstime)
 Acquire a read lock with an absolute timeout.
 
int pthread_rwlock_timedwrlock (pthread_rwlock_t *ZRESTRICT rwlock, const struct timespec *ZRESTRICT abstime)
 Acquire a write lock with an absolute timeout.
 
int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
 Try to acquire a read lock without blocking.
 
int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
 Try to acquire a write lock without blocking.
 
int pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
 Release a reader-writer lock.
 
int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
 Acquire a write lock, blocking until available.
 
int pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
 Destroy a reader-writer lock attributes object.
 
int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *ZRESTRICT attr, int *ZRESTRICT pshared)
 Get the process-shared attribute of a reader-writer lock attributes object.
 
int pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
 Initialise a reader-writer lock attributes object with default values.
 
int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
 Set the process-shared attribute of a reader-writer lock attributes object.
 

Detailed Description

POSIX Reader/Writer Locks option group.

Macro Definition Documentation

◆ PTHREAD_RWLOCK_INITIALIZER

#define PTHREAD_RWLOCK_INITIALIZER   _PTHREAD_RWLOCK_INITIALIZER

Static initialiser for pthread_rwlock_t objects.

Definition at line 100 of file pthread.h.

Function Documentation

◆ pthread_rwlock_destroy()

int pthread_rwlock_destroy ( pthread_rwlock_t *  rwlock)

Destroy a reader-writer lock.

Parameters
rwlockReader-writer lock to destroy.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_destroy.html

◆ pthread_rwlock_init()

int pthread_rwlock_init ( pthread_rwlock_t *ZRESTRICT  rwlock,
const pthread_rwlockattr_t *ZRESTRICT  attr 
)

Initialise a reader-writer lock.

Parameters
rwlockReader-writer lock to initialise.
attrAttributes, or NULL for defaults.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_init.html

◆ pthread_rwlock_rdlock()

int pthread_rwlock_rdlock ( pthread_rwlock_t *  rwlock)

Acquire a read lock, blocking until available.

Parameters
rwlockReader-writer lock.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html

◆ pthread_rwlock_timedrdlock()

int pthread_rwlock_timedrdlock ( pthread_rwlock_t *ZRESTRICT  rwlock,
const struct timespec *ZRESTRICT  abstime 
)

Acquire a read lock with an absolute timeout.

Parameters
rwlockReader-writer lock.
abstimeAbsolute timeout (CLOCK_REALTIME).
Returns
0 on success, ETIMEDOUT on timeout, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_timedrdlock.html

◆ pthread_rwlock_timedwrlock()

int pthread_rwlock_timedwrlock ( pthread_rwlock_t *ZRESTRICT  rwlock,
const struct timespec *ZRESTRICT  abstime 
)

Acquire a write lock with an absolute timeout.

Parameters
rwlockReader-writer lock.
abstimeAbsolute timeout (CLOCK_REALTIME).
Returns
0 on success, ETIMEDOUT on timeout, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_timedwrlock.html

◆ pthread_rwlock_tryrdlock()

int pthread_rwlock_tryrdlock ( pthread_rwlock_t *  rwlock)

Try to acquire a read lock without blocking.

Parameters
rwlockReader-writer lock.
Returns
0 on success, EBUSY if locked, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_tryrdlock.html

◆ pthread_rwlock_trywrlock()

int pthread_rwlock_trywrlock ( pthread_rwlock_t *  rwlock)

Try to acquire a write lock without blocking.

Parameters
rwlockReader-writer lock.
Returns
0 on success, EBUSY if locked, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_trywrlock.html

◆ pthread_rwlock_unlock()

int pthread_rwlock_unlock ( pthread_rwlock_t *  rwlock)

Release a reader-writer lock.

Parameters
rwlockReader-writer lock to release.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_unlock.html

◆ pthread_rwlock_wrlock()

int pthread_rwlock_wrlock ( pthread_rwlock_t *  rwlock)

Acquire a write lock, blocking until available.

Parameters
rwlockReader-writer lock.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_wrlock.html

◆ pthread_rwlockattr_destroy()

int pthread_rwlockattr_destroy ( pthread_rwlockattr_t *  attr)

Destroy a reader-writer lock attributes object.

Parameters
attrAttributes object to destroy.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_destroy.html

◆ pthread_rwlockattr_getpshared()

int pthread_rwlockattr_getpshared ( const pthread_rwlockattr_t *ZRESTRICT  attr,
int *ZRESTRICT  pshared 
)

Get the process-shared attribute of a reader-writer lock attributes object.

Parameters
attrAttributes object.
psharedOutput: PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_getpshared.html

◆ pthread_rwlockattr_init()

int pthread_rwlockattr_init ( pthread_rwlockattr_t *  attr)

Initialise a reader-writer lock attributes object with default values.

Parameters
attrAttributes object to initialise.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_init.html

◆ pthread_rwlockattr_setpshared()

int pthread_rwlockattr_setpshared ( pthread_rwlockattr_t *  attr,
int  pshared 
)

Set the process-shared attribute of a reader-writer lock attributes object.

Parameters
attrAttributes object.
psharedPTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlockattr_setpshared.html