• Roland McGrath's avatar
    [PATCH] Call exit_itimers from do_exit, not __exit_signal · 25f407f0
    Roland McGrath authored
    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 e03d13e9, which is why
      it was just reverted. ]
    Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    25f407f0
Name
Last commit
Last update
..
irq Loading commit data...
power Loading commit data...
Kconfig.hz Loading commit data...
Kconfig.preempt Loading commit data...
Makefile Loading commit data...
acct.c Loading commit data...
audit.c Loading commit data...
auditsc.c Loading commit data...
capability.c Loading commit data...
compat.c Loading commit data...
configs.c Loading commit data...
cpu.c Loading commit data...
cpuset.c Loading commit data...
crash_dump.c Loading commit data...
dma.c Loading commit data...
exec_domain.c Loading commit data...
exit.c Loading commit data...
extable.c Loading commit data...
fork.c Loading commit data...
futex.c Loading commit data...
intermodule.c Loading commit data...
itimer.c Loading commit data...
kallsyms.c Loading commit data...
kexec.c Loading commit data...
kfifo.c Loading commit data...
kmod.c Loading commit data...
kprobes.c Loading commit data...
ksysfs.c Loading commit data...
kthread.c Loading commit data...
module.c Loading commit data...
panic.c Loading commit data...
params.c Loading commit data...
pid.c Loading commit data...
posix-cpu-timers.c Loading commit data...
posix-timers.c Loading commit data...
printk.c Loading commit data...
profile.c Loading commit data...
ptrace.c Loading commit data...
rcupdate.c Loading commit data...
resource.c Loading commit data...
sched.c Loading commit data...
seccomp.c Loading commit data...
signal.c Loading commit data...
softirq.c Loading commit data...
softlockup.c Loading commit data...
spinlock.c Loading commit data...
stop_machine.c Loading commit data...
sys.c Loading commit data...
sys_ni.c Loading commit data...
sysctl.c Loading commit data...
time.c Loading commit data...
timer.c Loading commit data...
uid16.c Loading commit data...
user.c Loading commit data...
wait.c Loading commit data...
workqueue.c Loading commit data...