Messages in this thread | | | Date | Wed, 27 May 2009 21:05:13 +0200 | From | Oleg Nesterov <> | Subject | Re: [2.6.27.24] Kernel coredump to a pipe is failing |
| |
On 05/27, Andi Kleen wrote: > > > Actually, I think there is a strong reason to handle signals during > > core dumping. The coredump can take a lot of time/resources, not good > > it looks like unkillable procees to users. > > One problem with that is if you send a process a string of signals that cause > a core dump and then kill. In the old case you would just get a full core dump > on the first signal and be done. With your change it would process > the second signal too and stop the dumping and you get none or a partial > core dump. That might well break existing setups.
I don't think we should worry about this particular case. Suppose a user does
kill(pid, SIGQUIT); kill(pid, SIGKILL);
In this case, most likely the core dump will not start. Because SIGKILL will set SIGNAL_GROUP_EXIT before the process dequeues SIGQUIT and start do_coredump() which checks signal_group_exit() in zap_threads().
But yes, I agree, this change is user-visible and should be discussed.
Oleg.
| |