questions about _Thread_queue_Enqueue_critical error path

Gedare Bloom gedare at rtems.org
Thu Jun 9 15:25:49 UTC 2016


On Thu, Jun 9, 2016 at 9:17 AM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> On 08/06/16 19:32, Gedare Bloom wrote:
>>
>> In threadqenqueue.c:101 the error path will remove the timer and
>> unblock the thread.
>>
>> 1) The condition for this error is that the wait flags did not match
>> the expected value. This means some other change occurred in the
>> thread wait status.  I don't even know if this is possible, but if it
>> does happen, why is it that unconditionally removing the Thread_Timer
>> and unblocking the thread is the right thing to do?
>
>
> See:
>
> https://lists.rtems.org/pipermail/devel/2016-June/015251.html
>
>>
>> 2) Should this cleanup path only remove the timer if it was scheduled
>> i.e. if timeout != WATCHDOG_NO_TIMEOUT?
>
>
> This path is unlikely, thus not performance critical. So, I think its better
> to avoid additional logic.
>
OK, thanks.



More information about the devel mailing list