summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-05 14:35:56 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-06 20:55:51 +0100
commit96ea09ac4c781955c22ee810e3a05669b9a6a00a (patch)
tree228458c495bf5e4455fc4b0c1abbcbdc7859fdc2 /cpukit/include/rtems/score
parentscore: Make FIFO thread queue ops public (diff)
downloadrtems-96ea09ac4c781955c22ee810e3a05669b9a6a00a.tar.bz2
score: Add barrier thread queue operations
This fixes a missing decrement of the number of waiting threads during a barrier wait timeout. Close #4230.
Diffstat (limited to 'cpukit/include/rtems/score')
-rw-r--r--cpukit/include/rtems/score/corebarrierimpl.h9
1 files changed, 8 insertions, 1 deletions
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.