Messages in this thread | | | Date | Wed, 10 Sep 2008 15:44:01 +0400 | From | Oleg Nesterov <> | Subject | Re: [PATCH 2.6.27-rc5] Fix itimer/many thread hang. |
| |
On 09/09, Roland McGrath wrote: > > > As for this particular function, it seems to me that ->signal == NULL > > is not possible, no? > > The concern is to make sure that the timer tick path is always safe for a > tick that hits during release_task(current) in exit_notify(). A timer tick > there can come with current->signal == NULL. We just need to make sure one > way or another that this is safe.
run_posix_cpu_timers() must check ->signal != NULL anyway. (The same for other functions like account_group_user_time() which are called by the timer tick).
Apart from the timer tick, "current" should not use this function after exit_notify().
And, if tsk != current, ->signal must be pinned, this means it can't be NULL.
Perhaps I missed something, but imho this check is confusing and misleading. However, this is just a minor detail even if I am right.
Oleg.
| |