[RTEMS Project] #3334: deadlock in _once()
RTEMS trac
trac at rtems.org
Tue Mar 13 14:12:26 UTC 2018
#3334: deadlock in _once()
----------------------------+---------------------
Reporter: Stavros Passas | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone: 5.1
Component: posix | Version: 4.11
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: |
----------------------------+---------------------
Changes (by Sebastian Huber):
* milestone: 4.11.4 => 5.1
Comment:
Please send patches to the mailing list.
The yield loop may fail if thread priorities come into play. It should be
replaced with a condition variable. So, for the once implementation we
need a mutex and a condition variable (#include <rtems/thread.h>). There
is currently no condition variable with API mutex support. We need
protection from asynchronous deletion. Maybe use
_Thread_Set_life_protection() directly in _Once().
If we want to back port this fix to RTEMS 4.11, then we have to use
<sys/lock.h> instead of <rtems/thread.h>.
--
Ticket URL: <http://devel.rtems.org/ticket/3334#comment:3>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list