IDLE TCB setup needs to indicate the the IDLE thread is a privileged, kernel thread

This commit is contained in:
Gregory Nutt 2014-09-03 13:47:11 -06:00
parent 0c8830f9f3
commit c81093913a
2 changed files with 9 additions and 0 deletions

View File

@ -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 */

View File

@ -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 */