X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/61a1daa59589212608039e2734009870818bacd3..b60166b327a9108b07e3069fa6568a451529ffd9:/lunaix-os/kernel/process/task_attr.c?ds=sidebyside diff --git a/lunaix-os/kernel/process/task_attr.c b/lunaix-os/kernel/process/task_attr.c index f90ed35..7c4c83d 100644 --- a/lunaix-os/kernel/process/task_attr.c +++ b/lunaix-os/kernel/process/task_attr.c @@ -1,18 +1,5 @@ #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); -} - -void -__read_masked_sig(struct twimap* map) -{ - struct proc_info* proc = twimap_data(map, struct proc_info*); - twimap_printf(map, "%bb", proc->sig_mask); -} +#include void __read_parent(struct twimap* map) @@ -38,7 +25,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 +36,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,20 +55,22 @@ __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 export_task_attr() { struct twimap* map; - map = twimap_create(NULL); - map->read = __read_pending_sig; - taskfs_export_attr("sig_pending", map); + + // FIXME goes to thread specific location + // map = twimap_create(NULL); + // map->read = __read_pending_sig; + // taskfs_export_attr("sig_pending", map); - map = twimap_create(NULL); - map->read = __read_masked_sig; - taskfs_export_attr("sig_masked", map); + // map = twimap_create(NULL); + // map->read = __read_masked_sig; + // taskfs_export_attr("sig_masked", map); map = twimap_create(NULL); map->read = __read_parent;