]> git.hungrycats.org Git - linux/commit
[PATCH] back out siginfo_t.si_rusage from waitid changes
authorRoland McGrath <roland@redhat.com>
Thu, 16 Sep 2004 00:12:54 +0000 (17:12 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 16 Sep 2004 00:12:54 +0000 (17:12 -0700)
commit8ec9399fea7540a67b41e1544114dd846f6c2795
tree5915acaf2d212bee5f368c9b1526248c44527d4f
parent4de1e8747c0d6f62804b1eb0e5f21a08e507add4
[PATCH] back out siginfo_t.si_rusage from waitid changes

As I explained in the waitid patches, I added the si_rusage field to
siginfo_t with the idea of having the siginfo_t waitid fills in contain all
the information that wait4 or any such call could ever tell you.  Nowhere
in POSIX nor anywhere else specifies this field in siginfo_t.

When Ulrich and I hashed out the system call interface we wanted, we looked
at siginfo_t and decided there was plenty of space to throw in si_rusage.
Well, it turns out we didn't check the 64-bit platforms.  There struct
rusage is ridiculously large (lots of longs for things that are never in a
million years going to hit 2^32), and my changes bumped up the size of
siginfo_t.  Changing that size is more trouble than it's worth.

This patch reverts the changes to the siginfo_t structure types,
and no longer provides the rusage details in SIGCHLD signal data.
Instead, I added a fifth argument to the waitid system call to fill in rusage.

waitid is the name of the POSIX function with four arguments.  It might
make sense to rename the system call `waitsys' to follow SGI's system call
with the same arguments, or `wait5' in the mindless tradition.  But, feh.
I just added the argument to sys_waitid, rather than worrying about
changing the name in all the tables (and choosing a new stupid name).

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/sparc64/kernel/signal32.c
arch/x86_64/ia32/ia32_signal.c
include/asm-generic/siginfo.h
include/asm-ia64/siginfo.h
include/asm-x86_64/ia32.h
kernel/exit.c
kernel/signal.c