[Containers] [PATCH 2/7] pid: Add do_each_pid_task

Eric W. Biederman ebiederm at xmission.com
Tue Aug 15 23:34:51 PDT 2006


"Serge E. Hallyn" <serue at us.ibm.com> writes:

> Quoting Eric W. Biederman (ebiederm at xmission.com):
>> To avoid pid rollover confusion the kernel needs to work with
>> struct pid * instead of pid_t.  Currently there is not an iterator
>> that walks through all of the tasks of a given pid type starting
>> with a struct pid.  This prevents us replacing some pid_t instances
>> with struct pid.  So this patch adds do_each_pid_task which walks
>> through the set of task for a given pid type starting with a struct pid.
>> 
>> Signed-off-by: Eric W. Biederman <ebiederm at xmission.com>
>> ---
>>  include/linux/pid.h |   13 +++++++++++++
>>  1 files changed, 13 insertions(+), 0 deletions(-)
>> 
>> diff --git a/include/linux/pid.h b/include/linux/pid.h
>> index 93da7e2..4007114 100644
>> --- a/include/linux/pid.h
>> +++ b/include/linux/pid.h
>> @@ -118,4 +118,17 @@ #define while_each_task_pid(who, type, t
>>  				1; }) );				\
>>  	}
>>  
>> +#define do_each_pid_task(pid, type, task)				\
>
> Hmm, defining do_each_pid_task right after do_each_task_pid could result
> in some frustration  :)
>
> Though not sure of a better name - do_each_task_structpid?

A couple of things.
-  I think do_each_pid_task is probably the most descriptive name
   I can come up with.  As these are tasks of a pid.  I don't quite understand
   where the old name came from.

- Whatever we pick for the new function is the name we are going to use
  for a long time so I don't want it to be clumsy.  The existing function
  will go away after everything is updated.

- If you pick the wrong one you will get a compile error, as integers and
  pointers are not very interchangeable.

I hate the temporary confusion but I don't see a better alternative.

Eric




More information about the Containers mailing list