diff --git a/sched/init/os_start.c b/sched/init/os_start.c index 27ebd29c21..8f3a190c25 100644 --- a/sched/init/os_start.c +++ b/sched/init/os_start.c @@ -300,6 +300,7 @@ void os_start(void) bzero((void*)&g_idletcb, sizeof(struct task_tcb_s)); g_idletcb.cmn.task_state = TSTATE_TASK_RUNNING; g_idletcb.cmn.entry.main = (main_t)os_start; + g_idletcb.cmn.flags = TCB_FLAG_TTYPE_KERNEL; /* Set the IDLE task name */ diff --git a/sched/task/task.h b/sched/task/task.h index a748877f78..b22cf54025 100644 --- a/sched/task/task.h +++ b/sched/task/task.h @@ -63,15 +63,23 @@ * Public Function Prototypes ****************************************************************************/ +/* Task start-up */ + void task_start(void); int task_schedsetup(FAR struct task_tcb_s *tcb, int priority, start_t start, main_t main, uint8_t ttype); int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name, FAR char * const argv[]); + +/* Task exit */ + int task_exit(void); int task_terminate(pid_t pid, bool nonblocking); void task_exithook(FAR struct tcb_s *tcb, int status, bool nonblocking); void task_recover(FAR struct tcb_s *tcb); + +/* Misc. */ + bool sched_addreadytorun(FAR struct tcb_s *rtrtcb); #endif /* __SCHED_TASK_TASK_H */