]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] Call exit_itimers from do_exit, not __exit_signal
authorRoland McGrath <roland@redhat.com>
Fri, 21 Oct 2005 22:03:29 +0000 (15:03 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 21 Oct 2005 22:38:08 +0000 (15:38 -0700)
commit06175bd1e34f424554adad02cd37163982efaac9
tree10d8661419da9e0d6be6d22ef319582d052c4a26
parent441449c77dd47245ed74940a1cefaeee63831942
[PATCH] Call exit_itimers from do_exit, not __exit_signal

When I originally moved exit_itimers into __exit_signal, that was the only
place where we could reliably know it was the last thread in the group
dying, without races.  Since then we've gotten the signal_struct.live
counter, and do_exit can reliably do group-wide cleanup work.

This patch moves the call to do_exit, where it's made without locks.  This
avoids the deadlock issues that the old __exit_signal code's comment talks
about, and the one that Oleg found recently with process CPU timers.

[ This replaces 8fe6f4688cfd09bb7e07afaa4979d74309da272a, which is why
  it was just reverted. ]

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/exit.c
kernel/posix-timers.c
kernel/signal.c