RTEMS CPU Kit with SuperCore
4.11.3
|
Inlined Routines from the POSIX RWLock Manager. More...
#include <rtems/posix/rwlock.h>
#include <rtems/score/corerwlockimpl.h>
#include <rtems/score/objectimpl.h>
#include <pthread.h>
Go to the source code of this file.
Functions | |
void | _POSIX_RWLock_Manager_initialization (void) |
POSIX RWLock manager initialization. More... | |
int | _POSIX_RWLock_Translate_core_RWLock_return_code (CORE_RWLock_Status the_RWLock_status) |
POSIX translate core RWLock return code. More... | |
RTEMS_INLINE_ROUTINE POSIX_RWLock_Control * | _POSIX_RWLock_Allocate (void) |
Allocate a RWLock control block. More... | |
RTEMS_INLINE_ROUTINE void | _POSIX_RWLock_Free (POSIX_RWLock_Control *the_RWLock) |
Free a RWLock control block. More... | |
POSIX_RWLock_Control * | _POSIX_RWLock_Get (pthread_rwlock_t *rwlock, Objects_Locations *location) |
Variables | |
POSIX_EXTERN Objects_Information | _POSIX_RWLock_Information |
The following defines the information control block used to manage this class of objects. | |
Inlined Routines from the POSIX RWLock Manager.
This file contains the static inlin implementation of the inlined routines from the POSIX RWLock Manager.
RTEMS_INLINE_ROUTINE POSIX_RWLock_Control* _POSIX_RWLock_Allocate | ( | void | ) |
Allocate a RWLock control block.
This function allocates a RWLock control block from the inactive chain of free RWLock control blocks.
References _Objects_Allocate().
RTEMS_INLINE_ROUTINE void _POSIX_RWLock_Free | ( | POSIX_RWLock_Control * | the_RWLock | ) |
Free a RWLock control block.
This routine frees a RWLock control block to the inactive chain of free RWLock control blocks.
void _POSIX_RWLock_Manager_initialization | ( | void | ) |
POSIX RWLock manager initialization.
This routine performs the initialization necessary for this manager.
POSIX RWLock manager initialization.
References _Objects_Initialize_information(), and _POSIX_RWLock_Information.
int _POSIX_RWLock_Translate_core_RWLock_return_code | ( | CORE_RWLock_Status | the_RWLock_status | ) |
POSIX translate core RWLock return code.
This routine translates SuperCore RWLock status codes into the corresponding POSIX ones.
[in] | the_RWLock_status | is the SuperCore status. |
0 | The status indicates that the operation completed successfully. |
EINVAL | The status indicates that the thread was blocked waiting for an operation to complete and the RWLock was deleted. |
EBUSY | This status indicates that the RWLock was not immediately available. |
ETIMEDOUT | This status indicates that the calling task was willing to block but the operation was unable to complete within the time allotted because the resource never became available. |
References CORE_RWLOCK_STATUS_LAST.