diff options
author | Matthias Kaehlcke <matthias.kaehlcke@gmail.com> | 2007-10-18 23:39:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-19 11:53:38 -0700 |
commit | 03ff17979c58a0b63b0fe30a373f41b719731bd2 (patch) | |
tree | c6369ebab7a3035b309de5f288d6e8fc149b3d69 /kernel | |
parent | d473012710b815741043942bc41945d444abab40 (diff) | |
download | talos-obmc-linux-03ff17979c58a0b63b0fe30a373f41b719731bd2.tar.gz talos-obmc-linux-03ff17979c58a0b63b0fe30a373f41b719731bd2.zip |
kernel/exit.c: Use list_for_each_entry(_safe) instead of list_for_each(_safe)
kernel/exit.c: Convert list_for_each(_safe) to
list_for_each_entry(_safe) in forget_original_parent(), exit_notify()
and do_wait()
Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/exit.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index db9764186d5a..c5d97af12159 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -669,8 +669,7 @@ reparent_thread(struct task_struct *p, struct task_struct *father, int traced) static void forget_original_parent(struct task_struct *father, struct list_head *to_release) { - struct task_struct *p, *reaper = father; - struct list_head *_p, *_n; + struct task_struct *p, *n, *reaper = father; do { reaper = next_thread(reaper); @@ -688,9 +687,8 @@ forget_original_parent(struct task_struct *father, struct list_head *to_release) * * Search them and reparent children. */ - list_for_each_safe(_p, _n, &father->children) { + list_for_each_entry_safe(p, n, &father->children, sibling) { int ptrace; - p = list_entry(_p, struct task_struct, sibling); ptrace = p->ptrace; @@ -718,8 +716,7 @@ forget_original_parent(struct task_struct *father, struct list_head *to_release) if (unlikely(ptrace && p->exit_state == EXIT_ZOMBIE && p->exit_signal == -1)) list_add(&p->ptrace_list, to_release); } - list_for_each_safe(_p, _n, &father->ptrace_children) { - p = list_entry(_p, struct task_struct, ptrace_list); + list_for_each_entry_safe(p, n, &father->ptrace_children, ptrace_list) { p->real_parent = reaper; reparent_thread(p, father, 1); } @@ -1518,12 +1515,9 @@ repeat: tsk = current; do { struct task_struct *p; - struct list_head *_p; int ret; - list_for_each(_p,&tsk->children) { - p = list_entry(_p, struct task_struct, sibling); - + list_for_each_entry(p, &tsk->children, sibling) { ret = eligible_child(pid, options, p); if (!ret) continue; @@ -1605,9 +1599,8 @@ check_continued: } } if (!flag) { - list_for_each(_p, &tsk->ptrace_children) { - p = list_entry(_p, struct task_struct, - ptrace_list); + list_for_each_entry(p, &tsk->ptrace_children, + ptrace_list) { if (!eligible_child(pid, options, p)) continue; flag = 1; |