add tos_slist.h, rename tos.h to tos_k.h
This commit is contained in:
@@ -15,12 +15,11 @@
|
||||
* within TencentOS.
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include <tos.h>
|
||||
#include "tos_k.h"
|
||||
|
||||
__STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
|
||||
{
|
||||
TOS_CPU_CPSR_ALLOC();
|
||||
k_list_t *curr;
|
||||
k_task_t *curr_task = K_NULL;
|
||||
k_tick_t curr_expires, prev_expires = (k_tick_t)0u;
|
||||
|
||||
@@ -28,8 +27,7 @@ __STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
|
||||
|
||||
task->tick_expires = timeout;
|
||||
|
||||
TOS_LIST_FOR_EACH(curr, &k_tick_list) {
|
||||
curr_task = TOS_LIST_ENTRY(curr, k_task_t, tick_list);
|
||||
TOS_LIST_FOR_EACH_ENTRY(curr_task, k_task_t, tick_list, &k_tick_list) {
|
||||
curr_expires = prev_expires + curr_task->tick_expires;
|
||||
|
||||
if (task->tick_expires < curr_expires) {
|
||||
@@ -42,10 +40,10 @@ __STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
|
||||
prev_expires = curr_expires;
|
||||
}
|
||||
task->tick_expires -= prev_expires;
|
||||
if (curr != &k_tick_list && curr_task) {
|
||||
if (&curr_task->tick_list != &k_tick_list) {
|
||||
curr_task->tick_expires -= task->tick_expires;
|
||||
}
|
||||
tos_list_add_tail(&task->tick_list, curr);
|
||||
tos_list_add_tail(&task->tick_list, &curr_task->tick_list);
|
||||
|
||||
TOS_CPU_INT_ENABLE();
|
||||
}
|
||||
@@ -86,8 +84,7 @@ __KERNEL__ void tick_list_remove(k_task_t *task)
|
||||
__KERNEL__ void tick_update(k_tick_t tick)
|
||||
{
|
||||
TOS_CPU_CPSR_ALLOC();
|
||||
k_task_t *first, *task;
|
||||
k_list_t *curr, *next;
|
||||
k_task_t *first, *task, *tmp;
|
||||
|
||||
TOS_CPU_INT_DISABLE();
|
||||
k_tick_count += tick;
|
||||
@@ -106,8 +103,7 @@ __KERNEL__ void tick_update(k_tick_t tick)
|
||||
return;
|
||||
}
|
||||
|
||||
TOS_LIST_FOR_EACH_SAFE(curr, next, &k_tick_list) {
|
||||
task = TOS_LIST_ENTRY(curr, k_task_t, tick_list);
|
||||
TOS_LIST_FOR_EACH_ENTRY_SAFE(task, tmp, k_task_t, tick_list, &k_tick_list) {
|
||||
if (task->tick_expires > (k_tick_t)0u) {
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user