!105 L0 swtmr_align定时器在相同周期时,count计算错误,且相同响应时间时,后插入的节点应该位于已存在节点的后面

Merge pull request !105 from zhushengle/swtmr
This commit is contained in:
openharmony_ci 2021-05-06 19:17:02 +08:00 committed by Gitee
commit b57d33ba07
2 changed files with 5 additions and 2 deletions

View File

@ -58,9 +58,12 @@ STATIC INLINE VOID OsAddNode2SortLink(SortLinkAttribute *sortLinkHeader, SortLin
}
SortLinkList *listSorted = LOS_DL_LIST_ENTRY(head->pstNext, SortLinkList, sortLinkNode);
if (listSorted->responseTime >= sortList->responseTime) {
if (listSorted->responseTime > sortList->responseTime) {
LOS_ListAdd(head, &sortList->sortLinkNode);
return;
} else if (listSorted->responseTime == sortList->responseTime) {
LOS_ListAdd(head->pstNext, &sortList->sortLinkNode);
return;
}
LOS_DL_LIST *prevNode = head->pstPrev;

View File

@ -158,7 +158,7 @@ VOID OsSwtmrFindAlignPos(UINT64 currTime, SWTMR_CTRL_S *swtmr)
}
/* find same interval timer, directly return */
if (cur->uwInterval == swtmr->uwInterval) {
swtmr->uwCount = 0;
swtmr->uwCount = OsSortLinkGetTargetExpireTime(currTime, &cur->stSortList);
return;
}