pid: fix the do_each_pid_task() macro
authorSteven Rostedt <srostedt@redhat.com>
Thu, 4 Dec 2008 05:26:39 +0000 (00:26 -0500)
committerIngo Molnar <mingo@elte.hu>
Thu, 4 Dec 2008 08:09:37 +0000 (09:09 +0100)
Impact: macro side-effects fix

This patch adds parenthesis around 'pid' in the do_each_pid_task
macro to allow callers to pass in more complex parameters.

e.g.  do_each_pid_task(*pid, type, task)

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/pid.h

index d7e98ff8021eb3bfc38e4c851b425c7eac5c097f..bb206c56d1f0eb16877a0c664712edae4de9df1d 100644 (file)
@@ -147,9 +147,9 @@ pid_t pid_vnr(struct pid *pid);
 #define do_each_pid_task(pid, type, task)                              \
        do {                                                            \
                struct hlist_node *pos___;                              \
-               if (pid != NULL)                                        \
+               if ((pid) != NULL)                                      \
                        hlist_for_each_entry_rcu((task), pos___,        \
-                               &pid->tasks[type], pids[type].node) {
+                               &(pid)->tasks[type], pids[type].node) {
 
                        /*
                         * Both old and new leaders may be attached to