[PATCH] score: Improve _Thread_Start() description

Gedare Bloom gedare at rtems.org
Tue Jul 21 15:10:13 UTC 2020


On Tue, Jul 21, 2020 at 7:23 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> ---
>  cpukit/include/rtems/score/threadimpl.h | 35 ++++++++++++++++++++-----
>  1 file changed, 29 insertions(+), 6 deletions(-)
>
> diff --git a/cpukit/include/rtems/score/threadimpl.h b/cpukit/include/rtems/score/threadimpl.h
> index b4b85ffa90..355311867d 100644
> --- a/cpukit/include/rtems/score/threadimpl.h
> +++ b/cpukit/include/rtems/score/threadimpl.h
> @@ -211,14 +211,37 @@ bool _Thread_Initialize(
>  );
>
>  /**
> - * @brief Initializes thread and executes it.
> + * @brief Starts the specified thread.
>   *
> - * This routine initializes the executable information for a thread
> - * and makes it ready to execute.  After this routine executes, the
> - * thread competes with all other threads for CPU time.
> + * If the thread is not in the dormant state, the routine returns immediately
> + * false and performs no actions.
>   *
> - * @param the_thread The thread to be started.
> - * @param entry The thread entry information.
> + * Otherwise, this routine initializes the executable information for the
> + * thread and makes it ready to execute.  After the call of this routine, the
> + * thread competes with all other ready threads for CPU time.
> + *
> + * Then the routine enables the local interrupts as indicated by the ISR lock
> + * context.
> + *
> + * Then the thread start user extensions are called with thread dispatching
> + * disabled and interrupts enabled after making the thread ready.  Please note
> + * that in SMP configurations, the thread switch and begin user extensions may
> + * be called in parallel on another processor.
> + *
> + * Then thread dispatching is enabled and another threads may execute before
"other threads" or "another thread"

> + * the routine returns.
> + *
> + * @param[in, out] the_thread is the thread to start.
> + *
> + * @param entry is the thread entry information.
> + *
> + * @param[in, out] is the ISR lock context which shall be used to disable the
> + *   local interrupts before the call of this routine.
> + *
> + * @retval true The thread was in the dormant state and was sucessefully
> + *   started.
> + *
> + * @retval false Otherwise.
>   */

Thanks, nice clarification

>  bool _Thread_Start(
>    Thread_Control                 *the_thread,
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list