From 3b2481f9a7c7e9926b221acdca3678d80c6c9ec7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 18 Apr 2019 07:08:32 +0200 Subject: score: Simplify _SMP_Multicast_action() Move resposibility to disable thread dispatching to the caller of _SMP_Multicast_action(). Using an interrupt disable for this purpose is questionable. --- cpukit/include/rtems/score/smpimpl.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'cpukit/include/rtems/score/smpimpl.h') diff --git a/cpukit/include/rtems/score/smpimpl.h b/cpukit/include/rtems/score/smpimpl.h index 452f39a3b5..ecea1fda43 100644 --- a/cpukit/include/rtems/score/smpimpl.h +++ b/cpukit/include/rtems/score/smpimpl.h @@ -255,9 +255,11 @@ typedef void ( *SMP_Action_handler )( void *arg ); /** * @brief Initiates an SMP multicast action to the set of target processors. * - * The current processor may be part of the set. In case a target processor is - * in a wrong state to process per-processor jobs, then this function results - * in an SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS fatal SMP error. + * The current processor may be part of the set. The caller must ensure that + * no thread dispatch can happen during the call of this function, otherwise + * the behaviour is undefined. In case a target processor is in a wrong state + * to process per-processor jobs, then this function results in an + * SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS fatal SMP error. * * @param targets The set of target processors for the action. * @param handler The multicast action handler. -- cgit v1.2.3