|
RTEMS CPU Kit with SuperCore
4.11.2
|
Inlined Routines from the POSIX Barrier Manager. More...
#include <rtems/posix/barrier.h>#include <rtems/score/corebarrierimpl.h>#include <rtems/score/objectimpl.h>#include <pthread.h>

Go to the source code of this file.
Functions | |
| void | _POSIX_Barrier_Manager_initialization (void) |
| POSIX barrier manager initialization. More... | |
| int | _POSIX_Barrier_Translate_core_barrier_return_code (CORE_barrier_Status the_barrier_status) |
| POSIX translate barrier return code. More... | |
| RTEMS_INLINE_ROUTINE POSIX_Barrier_Control * | _POSIX_Barrier_Allocate (void) |
| Allocate a barrier control block. More... | |
| RTEMS_INLINE_ROUTINE void | _POSIX_Barrier_Free (POSIX_Barrier_Control *the_barrier) |
| Free a barrier control block. More... | |
| RTEMS_INLINE_ROUTINE POSIX_Barrier_Control * | _POSIX_Barrier_Get (pthread_barrier_t *barrier, Objects_Locations *location) |
| Get a barrier control block. More... | |
Variables | |
| POSIX_EXTERN Objects_Information | _POSIX_Barrier_Information |
| The following defines the information control block used to manage this class of objects. | |
Inlined Routines from the POSIX Barrier Manager.
This file contains the static inlin implementation of the inlined routines from the POSIX Barrier Manager.
| RTEMS_INLINE_ROUTINE POSIX_Barrier_Control* _POSIX_Barrier_Allocate | ( | void | ) |
Allocate a barrier control block.
This function allocates a barrier control block from the inactive chain of free barrier control blocks.
References _Objects_Allocate().
| RTEMS_INLINE_ROUTINE void _POSIX_Barrier_Free | ( | POSIX_Barrier_Control * | the_barrier | ) |
Free a barrier control block.
This routine frees a barrier control block to the inactive chain of free barrier control blocks.
| RTEMS_INLINE_ROUTINE POSIX_Barrier_Control* _POSIX_Barrier_Get | ( | pthread_barrier_t * | barrier, |
| Objects_Locations * | location | ||
| ) |
Get a barrier control block.
This function maps barrier IDs to barrier control blocks. If ID corresponds to a local barrier, then it returns the_barrier control pointer which maps to ID and location is set to OBJECTS_LOCAL. if the barrier ID is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_barrier is undefined. Otherwise, location is set to OBJECTS_ERROR and the_barrier is undefined.
References _Objects_Get().
Referenced by pthread_barrier_destroy(), and pthread_barrier_wait().
| void _POSIX_Barrier_Manager_initialization | ( | void | ) |
POSIX barrier manager initialization.
This routine performs the initialization necessary for this manager.
POSIX barrier manager initialization.
References _Objects_Initialize_information(), and _POSIX_Barrier_Information.
| int _POSIX_Barrier_Translate_core_barrier_return_code | ( | CORE_barrier_Status | the_barrier_status | ) |
POSIX translate barrier return code.
This routine translates SuperCore Barrier status codes into the corresponding POSIX ones.
| [in] | the_barrier_status | is the SuperCore status. |
References CORE_BARRIER_STATUS_LAST.
1.8.13