questions about _Thread_queue_Enqueue_critical error path

Gedare Bloom gedare at
Wed Jun 8 17:32:29 UTC 2016

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?

2) Should this cleanup path only remove the timer if it was scheduled
i.e. if timeout != WATCHDOG_NO_TIMEOUT?


More information about the devel mailing list