summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-14 17:02:57 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-17 08:05:31 +0200
commit6f2c8f32e648fe479c565368e747a71e92ca69b3 (patch)
treea2398a546e7d2b3ebef18e83bff8f1a282fe3935
parentarm/altera-cyclone-v: Fix compile error (diff)
downloadrtems-6f2c8f32e648fe479c565368e747a71e92ca69b3.tar.bz2
score: Improve parameters in _Thread_Change_life()
-rw-r--r--cpukit/include/rtems/score/threadimpl.h22
-rw-r--r--cpukit/score/src/threadrestart.c29
2 files changed, 29 insertions, 22 deletions
diff --git a/cpukit/include/rtems/score/threadimpl.h b/cpukit/include/rtems/score/threadimpl.h
index 44785cd937..1a5e391677 100644
--- a/cpukit/include/rtems/score/threadimpl.h
+++ b/cpukit/include/rtems/score/threadimpl.h
@@ -297,18 +297,20 @@ Status_Control _Thread_Restart(
void _Thread_Yield( Thread_Control *executing );
/**
- * @brief Changes the currently executing thread to a new state with the sets.
+ * @brief Changes the life of currently executing thread.
*
- * @param clear States to clear.
- * @param set States to set.
- * @param ignore States to ignore.
+ * @param life_states_to_clear are the thread life states to clear.
*
- * @return The previous state the thread was in.
+ * @param life_states_to_set are the thread life states to set.
+ *
+ * @param ignored_life_states are the ignored thread life states.
+ *
+ * @return Returns the thread life state before the changes.
*/
Thread_Life_state _Thread_Change_life(
- Thread_Life_state clear,
- Thread_Life_state set,
- Thread_Life_state ignore
+ Thread_Life_state life_states_to_clear,
+ Thread_Life_state life_states_to_set,
+ Thread_Life_state ignored_life_states
);
/**
@@ -338,12 +340,12 @@ void _Thread_Kill_zombies( void );
* @brief Exits the currently executing thread.
*
* @param[in, out] executing The currently executing thread.
- * @param set The states to set.
+ * @param life_states_to_set The states to set.
* @param[out] exit_value Contains the exit value of the thread.
*/
void _Thread_Exit(
Thread_Control *executing,
- Thread_Life_state set,
+ Thread_Life_state life_states_to_set,
void *exit_value
);
diff --git a/cpukit/score/src/threadrestart.c b/cpukit/score/src/threadrestart.c
index 775f1c7a70..7a1c8e4635 100644
--- a/cpukit/score/src/threadrestart.c
+++ b/cpukit/score/src/threadrestart.c
@@ -197,9 +197,9 @@ void _Thread_Kill_zombies( void )
static Thread_Life_state _Thread_Change_life_locked(
Thread_Control *the_thread,
- Thread_Life_state clear,
- Thread_Life_state set,
- Thread_Life_state ignore
+ Thread_Life_state life_states_to_clear,
+ Thread_Life_state life_states_to_set,
+ Thread_Life_state ignored_life_states
)
{
Thread_Life_state previous;
@@ -207,11 +207,11 @@ static Thread_Life_state _Thread_Change_life_locked(
previous = the_thread->Life.state;
state = previous;
- state &= ~clear;
- state |= set;
+ state &= ~life_states_to_clear;
+ state |= life_states_to_set;
the_thread->Life.state = state;
- state &= ~ignore;
+ state &= ~ignored_life_states;
if (
_Thread_Is_life_change_allowed( state )
@@ -491,7 +491,7 @@ void _Thread_Close(
void _Thread_Exit(
Thread_Control *executing,
- Thread_Life_state set,
+ Thread_Life_state life_states_to_set,
void *exit_value
)
{
@@ -510,7 +510,7 @@ void _Thread_Exit(
_Thread_Change_life_locked(
executing,
0,
- set,
+ life_states_to_set,
THREAD_LIFE_PROTECTED | THREAD_LIFE_CHANGE_DEFERRED
);
_Thread_State_release( executing, &lock_context );
@@ -583,9 +583,9 @@ Status_Control _Thread_Restart(
}
Thread_Life_state _Thread_Change_life(
- Thread_Life_state clear,
- Thread_Life_state set,
- Thread_Life_state ignore
+ Thread_Life_state life_states_to_clear,
+ Thread_Life_state life_states_to_set,
+ Thread_Life_state ignored_life_states
)
{
ISR_lock_Context lock_context;
@@ -595,7 +595,12 @@ Thread_Life_state _Thread_Change_life(
executing = _Thread_State_acquire_for_executing( &lock_context );
- previous = _Thread_Change_life_locked( executing, clear, set, ignore );
+ previous = _Thread_Change_life_locked(
+ executing,
+ life_states_to_clear,
+ life_states_to_set,
+ ignored_life_states
+ );
cpu_self = _Thread_Dispatch_disable_critical( &lock_context );
_Thread_State_release( executing, &lock_context );