Simultaneous exit/thread_destroy working

Reiterating again to simplify:

Working:
 - Pager issues destroy, client also issues exit
   they work in sync.

Missing
 - Pager killing itself
 - Pager killing all children while killing itself
 - Pager waiting on children
This commit is contained in:
Bahadir Balban
2009-10-31 18:45:22 +02:00
parent 09197d1fb1
commit 638df9e238
5 changed files with 42 additions and 81 deletions

View File

@@ -61,7 +61,7 @@ extern struct scheduler scheduler;
void sched_init_runqueue(struct runqueue *rq);
void sched_init_task(struct ktcb *task, int priority);
void sched_prepare_sleep(void);
void sched_pager_exit(void);
void sched_exit_pager(void);
void sched_exit_sync(void);
void sched_suspend_sync(void);
void sched_suspend_async(void);

View File

@@ -36,6 +36,7 @@ enum task_state {
TASK_INACTIVE = 0,
TASK_SLEEPING = 1,
TASK_RUNNABLE = 2,
TASK_DEAD = 3,
};
#define TASK_ID_INVALID -1