From 96ea09ac4c781955c22ee810e3a05669b9a6a00a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 5 Feb 2021 14:35:56 +0100 Subject: score: Add barrier thread queue operations This fixes a missing decrement of the number of waiting threads during a barrier wait timeout. Close #4230. --- cpukit/include/rtems/score/corebarrierimpl.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cpukit/include/rtems/score/corebarrierimpl.h') diff --git a/cpukit/include/rtems/score/corebarrierimpl.h b/cpukit/include/rtems/score/corebarrierimpl.h index c2dfea8f9b..922eb5d28f 100644 --- a/cpukit/include/rtems/score/corebarrierimpl.h +++ b/cpukit/include/rtems/score/corebarrierimpl.h @@ -33,7 +33,14 @@ extern "C" { * @{ */ -#define CORE_BARRIER_TQ_OPERATIONS &_Thread_queue_Operations_FIFO +/** + * @brief These thread queue operations are used for core barriers. + * + * They are a specialization of ::_Thread_queue_Operations_FIFO. The only + * difference is that the extract operation decrements + * CORE_barrier_Control::number_of_waiting_threads. + */ +extern const Thread_queue_Operations _CORE_barrier_Thread_queue_operations; /** * @brief Initializes the core barrier. -- cgit v1.2.3