forked from Imagelibrary/rtems
score: Make _Once_Lock() and _Once_Unlock() static
These two functions are no longer used outside of _Once().
This commit is contained in:
@@ -57,22 +57,6 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
int _Once( unsigned char *once_state, void ( *init_routine )( void ) );
|
int _Once( unsigned char *once_state, void ( *init_routine )( void ) );
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Locks the Once_Information_Mutex and returns the thread life state.
|
|
||||||
*
|
|
||||||
* @return The thread life state (THREAD_LIFE_PROTECTED).
|
|
||||||
*/
|
|
||||||
Thread_Life_state _Once_Lock( void );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Unlocks the Once_Information_Mutex and sets the thread life
|
|
||||||
* protection to thread_life_state.
|
|
||||||
*
|
|
||||||
* @param thread_life_state The thread life state to set the thread life
|
|
||||||
* protection to.
|
|
||||||
*/
|
|
||||||
void _Once_Unlock( Thread_Life_state thread_life_state );
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -59,6 +59,22 @@ static Once_Control _Once_Information = {
|
|||||||
.State = RTEMS_CONDITION_VARIABLE_INITIALIZER( "_Once" )
|
.State = RTEMS_CONDITION_VARIABLE_INITIALIZER( "_Once" )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static Thread_Life_state _Once_Lock( void )
|
||||||
|
{
|
||||||
|
Thread_Life_state thread_life_state;
|
||||||
|
|
||||||
|
thread_life_state = _Thread_Set_life_protection( THREAD_LIFE_PROTECTED );
|
||||||
|
rtems_mutex_lock( &_Once_Information.Mutex );
|
||||||
|
|
||||||
|
return thread_life_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _Once_Unlock( Thread_Life_state thread_life_state )
|
||||||
|
{
|
||||||
|
rtems_mutex_unlock( &_Once_Information.Mutex );
|
||||||
|
_Thread_Set_life_protection( thread_life_state );
|
||||||
|
}
|
||||||
|
|
||||||
int _Once( unsigned char *once_state, void ( *init_routine )( void ) )
|
int _Once( unsigned char *once_state, void ( *init_routine )( void ) )
|
||||||
{
|
{
|
||||||
_Atomic_Fence( ATOMIC_ORDER_ACQUIRE );
|
_Atomic_Fence( ATOMIC_ORDER_ACQUIRE );
|
||||||
@@ -90,19 +106,3 @@ int _Once( unsigned char *once_state, void ( *init_routine )( void ) )
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Thread_Life_state _Once_Lock( void )
|
|
||||||
{
|
|
||||||
Thread_Life_state thread_life_state;
|
|
||||||
|
|
||||||
thread_life_state = _Thread_Set_life_protection( THREAD_LIFE_PROTECTED );
|
|
||||||
rtems_mutex_lock( &_Once_Information.Mutex );
|
|
||||||
|
|
||||||
return thread_life_state;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _Once_Unlock( Thread_Life_state thread_life_state )
|
|
||||||
{
|
|
||||||
rtems_mutex_unlock( &_Once_Information.Mutex );
|
|
||||||
_Thread_Set_life_protection( thread_life_state );
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user