You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@mynewt.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/01/04 21:18:00 UTC

[jira] [Commented] (MYNEWT-879) os_sched_sleep and os_sched_insert could insert into sleep or run list incorrectly

    [ https://issues.apache.org/jira/browse/MYNEWT-879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16312045#comment-16312045 ] 

ASF subversion and git services commented on MYNEWT-879:
--------------------------------------------------------

Commit 9c985209c9f3d93ad7c925a5517a0af9c009cc32 in mynewt-core's branch refs/heads/master from [~wes3]
[ https://gitbox.apache.org/repos/asf?p=mynewt-core.git;h=9c98520 ]

Revert "MYNEWT-879: OS scheduler issues with TAILQ_INSERT_TAIL"

This reverts commit 9b463f6c5ae4d09f921a0ea73e1642484f0b9aa6.


> 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)