On Tue, Jul 21, 2020 at 7:23 AM Sebastian Huber <sebastian.hu...@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@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel