Some not-very-well working progress on grouply exit.

Going to start from scratch.
This commit is contained in:
Bahadir Balban
2009-10-30 19:52:52 +02:00
parent ee7621b2df
commit f3c0a38fa9
7 changed files with 39 additions and 69 deletions

View File

@@ -44,7 +44,7 @@ container_head_init(struct container_head *chead)
/* Hash table for all existing tasks */
struct ktcb_list {
struct link list;
struct mutex list_lock;
struct spinlock list_lock;
int count;
};

View File

@@ -80,7 +80,8 @@ struct ktcb {
enum task_state state;
struct link task_list; /* Global task list. */
struct ktcb_list task_dead; /* List of dead children */
struct link task_dead_list; /* List of dead children */
struct mutex task_dead_mutex; /* Dead children list mutex */
/* UTCB related, see utcb.txt in docs */
unsigned long utcb_address; /* Virtual ref to task's utcb area */
@@ -156,7 +157,6 @@ void tcb_delete(struct ktcb *tcb);
void ktcb_list_add(struct ktcb *new, struct ktcb_list *ktcb_list);
void __ktcb_list_add_nolock(struct ktcb *new, struct ktcb_list *ktcb_list);
void init_ktcb_list(struct ktcb_list *ktcb_list);
void task_update_utcb(struct ktcb *task);
int tcb_check_and_lazy_map_utcb(struct ktcb *task);