Added different paths of exiting for pager and its children.

Created a task_dead list on pager for children to move to when
they exit.
This commit is contained in:
Bahadir Balban
2009-10-30 12:00:05 +02:00
parent a6c61e05b9
commit 26aa62d2ea
8 changed files with 120 additions and 28 deletions

View File

@@ -10,6 +10,7 @@
/* Number of containers defined at compile-time */
#include <l4/generic/capability.h>
#include <l4/lib/list.h>
#include <l4/lib/mutex.h>
#include <l4/lib/idpool.h>
#include INC_SUBARCH(mm.h)
@@ -43,7 +44,7 @@ container_head_init(struct container_head *chead)
/* Hash table for all existing tasks */
struct ktcb_list {
struct link list;
struct spinlock list_lock;
struct mutex list_lock;
int count;
};

View File

@@ -80,6 +80,7 @@ struct ktcb {
enum task_state state;
struct link task_list; /* Global task list. */
struct ktcb_list task_dead; /* List of dead children */
/* UTCB related, see utcb.txt in docs */
unsigned long utcb_address; /* Virtual ref to task's utcb area */