RTEMS CPU Kit with SuperCore  4.11.3
Functions | Variables
rwlockimpl.h File Reference

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>
Include dependency graph for rwlockimpl.h:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

Inlined Routines from the POSIX RWLock Manager.

This file contains the static inlin implementation of the inlined routines from the POSIX RWLock Manager.

Function Documentation

◆ _POSIX_RWLock_Allocate()

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

◆ _POSIX_RWLock_Free()

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.

◆ _POSIX_RWLock_Manager_initialization()

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.

◆ _POSIX_RWLock_Translate_core_RWLock_return_code()

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.

Parameters
[in]the_RWLock_statusis the SuperCore status.
Returns
the corresponding POSIX status
Return values
0The status indicates that the operation completed successfully.
EINVALThe status indicates that the thread was blocked waiting for an operation to complete and the RWLock was deleted.
EBUSYThis status indicates that the RWLock was not immediately available.
ETIMEDOUTThis 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.