William San Filippo created MYNEWT-879:
------------------------------------------
Summary: os_sched_sleep and os_sched_insert could insert into
sleep or run list incorrectly
Key: MYNEWT-879
URL: https://issues.apache.org/jira/browse/MYNEWT-879
Project: Mynewt
Issue Type: Bug
Security Level: Public (Viewable by anyone)
Components: OS
Affects Versions: v1_3_0_rel
Reporter: William San Filippo
Assignee: William San Filippo
The queue.h macros TAILQ_INSERT_TAIL will not set the first element in the head
of the list if the list is empty. This is by design. Unfortunately, the OS code
does not check in two places when inserting into the sleep list
(os_sched_sleep) or the run list (os_sched_insert) if the list is empty. The
code has to specifically check if the list is empty, and if so, call
TAILQ_INSERT_HEAD (rather than insert tail).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)