From 6641cc87b87e0abf79138bbe0fbd303e04b547bf Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 10 Jun 2021 07:44:45 +0200 Subject: score: Fix initialization of thread queue context Set Thread_queue_Context::timeout_absolute in _Thread_queue_Context_set_timeout_argument() to avoid using it uninitialized. The bug was introduced by a89ecaa1a94d49ddae7753d6b83923e9d2a00486. --- cpukit/include/rtems/score/threadqimpl.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'cpukit/include') diff --git a/cpukit/include/rtems/score/threadqimpl.h b/cpukit/include/rtems/score/threadqimpl.h index 7b00de009d..44efc1fcd0 100644 --- a/cpukit/include/rtems/score/threadqimpl.h +++ b/cpukit/include/rtems/score/threadqimpl.h @@ -201,18 +201,24 @@ _Thread_queue_Context_set_timeout_ticks( /** * @brief Sets the timeout argument in the thread queue context. * - * @param[out] queue_context The thread queue context. - * @param arg The timeout argument. + * @param[out] queue_context is the thread queue context. + * + * @param arg is the timeout argument. + * + * @param absolute is true, if the timeout shall be absolute, otherwise it + * shall be relative to the current time of the clock. * * @see _Thread_queue_Enqueue(). */ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_timeout_argument( Thread_queue_Context *queue_context, - const void *arg + const void *arg, + bool absolute ) { queue_context->Timeout.arg = arg; + queue_context->timeout_absolute = absolute; } /** -- cgit v1.2.3