X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/61a1daa59589212608039e2734009870818bacd3..2236410f4582ab45ae8c384dd6eeeef5d10aab15:/lunaix-os/kernel/process/task_attr.c diff --git a/lunaix-os/kernel/process/task_attr.c b/lunaix-os/kernel/process/task_attr.c index f90ed35..1cca227 100644 --- a/lunaix-os/kernel/process/task_attr.c +++ b/lunaix-os/kernel/process/task_attr.c @@ -1,17 +1,18 @@ #include +#include void __read_pending_sig(struct twimap* map) { struct proc_info* proc = twimap_data(map, struct proc_info*); - twimap_printf(map, "%bb", proc->sig_pending); + twimap_printf(map, "%bb", proc->sigctx.sig_pending); } void __read_masked_sig(struct twimap* map) { struct proc_info* proc = twimap_data(map, struct proc_info*); - twimap_printf(map, "%bb", proc->sig_mask); + twimap_printf(map, "%bb", proc->sigctx.sig_mask); } void @@ -38,7 +39,9 @@ __read_pgid(struct twimap* map) void __read_children(struct twimap* map) { - struct proc_info* proc = twimap_index(map, struct proc_info*); + struct llist_header* proc_list = twimap_index(map, struct llist_header*); + struct proc_info* proc = + container_of(proc_list, struct proc_info, siblings); if (!proc) return; twimap_printf(map, "%d ", proc->pid); @@ -47,11 +50,12 @@ __read_children(struct twimap* map) int __next_children(struct twimap* map) { - struct proc_info* proc = twimap_index(map, struct proc_info*); + struct llist_header* proc = twimap_index(map, struct llist_header*); + struct proc_info* current = twimap_data(map, struct proc_info*); if (!proc) return 0; - map->index = container_of(proc->siblings.next, struct proc_info, siblings); - if (map->index == proc) { + map->index = proc->next; + if (map->index == ¤t->children) { return 0; } return 1; @@ -65,7 +69,7 @@ __reset_children(struct twimap* map) map->index = 0; return; } - map->index = container_of(proc->children.next, struct proc_info, siblings); + map->index = proc->children.next; } void