The reason is what if tsk is no longer available when you call getrusage? > -----Original Message----- > From: linux-kernel-owner@xxxxxxxxxxxxxxx > [mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] On Behalf Of > Claudio Scordino > Sent: Thursday, November 10, 2005 2:34 PM > To: linux-kernel@xxxxxxxxxxxxxxx; kernelnewbies@xxxxxxxxxxxx > Subject: [PATCH] getrusage sucks > > Does exist any _real_ reason why getrusage can't be invoked > by a task to know > statistics of another task ? > > The changes would be very trivial, as shown by the following patch. > > Claudio > > > diff --git a/kernel/sys.c b/kernel/sys.c > --- a/kernel/sys.c > +++ b/kernel/sys.c > @@ -1746,9 +1746,13 @@ int getrusage(struct task_struct *p, int > > asmlinkage long sys_getrusage(int who, struct rusage __user *ru) > { > - if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN) > - return -EINVAL; > - return getrusage(current, who, ru); > + if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN) { > + struct task_struct* tsk = find_task_by_pid(who); > + if (tsk == NULL) > + return -EINVAL; > + return getrusage(tsk, RUSAGE_SELF, ru); > + } else > + return getrusage(current, who, ru); > } > > asmlinkage long sys_umask(int mask) > - > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/