RTEMS CPU Kit with SuperCore
4.11.3
|
This include file contains the static inline implementation of the private inlined routines for POSIX condition variables. More...
#include <rtems/posix/cond.h>
#include <rtems/score/objectimpl.h>
#include <rtems/score/threadqimpl.h>
#include <rtems/score/watchdog.h>
Go to the source code of this file.
Macros | |
#define | POSIX_CONDITION_VARIABLES_NO_MUTEX 0 |
Constant to indicate condition variable does not currently have a mutex assigned to it. | |
Functions | |
void | _POSIX_Condition_variables_Manager_initialization (void) |
POSIX Condition Variable Manager Initialization. More... | |
RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control * | _POSIX_Condition_variables_Allocate (void) |
POSIX Condition Variable Allocate. More... | |
RTEMS_INLINE_ROUTINE void | _POSIX_Condition_variables_Free (POSIX_Condition_variables_Control *the_condition_variable) |
POSIX Condition Variable Free. More... | |
POSIX_Condition_variables_Control * | _POSIX_Condition_variables_Get (pthread_cond_t *cond, Objects_Locations *location) |
POSIX Condition Variable Get. More... | |
int | _POSIX_Condition_variables_Signal_support (pthread_cond_t *cond, bool is_broadcast) |
Implements wake up version of the "signal" operation. More... | |
int | _POSIX_Condition_variables_Wait_support (pthread_cond_t *cond, pthread_mutex_t *mutex, Watchdog_Interval timeout, bool already_timedout) |
POSIX condition variables wait support. More... | |
Variables | |
POSIX_EXTERN Objects_Information | _POSIX_Condition_variables_Information |
The following defines the information control block used to manage this class of objects. | |
const pthread_condattr_t | _POSIX_Condition_variables_Default_attributes |
The default condition variable attributes structure. | |
This include file contains the static inline implementation of the private inlined routines for POSIX condition variables.
RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control* _POSIX_Condition_variables_Allocate | ( | void | ) |
POSIX Condition Variable Allocate.
This function allocates a condition variable control block from the inactive chain of free condition variable control blocks.
References _Objects_Allocate().
Referenced by pthread_cond_init().
RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Free | ( | POSIX_Condition_variables_Control * | the_condition_variable | ) |
POSIX Condition Variable Free.
This routine frees a condition variable control block to the inactive chain of free condition variable control blocks.
POSIX_Condition_variables_Control* _POSIX_Condition_variables_Get | ( | pthread_cond_t * | cond, |
Objects_Locations * | location | ||
) |
POSIX Condition Variable Get.
This function maps condition variable IDs to condition variable control blocks. If ID corresponds to a local condition variable, then it returns the_condition variable control pointer which maps to ID and location is set to OBJECTS_LOCAL. if the condition variable ID is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_condition variable is undefined. Otherwise, location is set to OBJECTS_ERROR and the_condition variable is undefined.
Referenced by _POSIX_Condition_variables_Signal_support(), and pthread_cond_destroy().
void _POSIX_Condition_variables_Manager_initialization | ( | void | ) |
POSIX Condition Variable Manager Initialization.
This routine performs the initialization necessary for this manager.
References _Objects_Initialize_information(), and _POSIX_Condition_variables_Information.
int _POSIX_Condition_variables_Signal_support | ( | pthread_cond_t * | cond, |
bool | is_broadcast | ||
) |
Implements wake up version of the "signal" operation.
A support routine which implements guts of the broadcast and single task wake up version of the "signal" operation.
References _POSIX_Condition_variables_Get().
Referenced by pthread_cond_broadcast(), and pthread_cond_signal().
int _POSIX_Condition_variables_Wait_support | ( | pthread_cond_t * | cond, |
pthread_mutex_t * | mutex, | ||
Watchdog_Interval | timeout, | ||
bool | already_timedout | ||
) |
POSIX condition variables wait support.
A support routine which implements guts of the blocking, non-blocking, and timed wait version of condition variable wait routines.