On 11/27, Ananth N Mavinakayanahalli wrote: > > I am confused as to why we need two atomics count and live in signal_struct. > > report_death() uses ->live as the group_dead indicator,
report_death? Perhaps you meant do_exit() ? > while there are > places (like the scheduler) which uses ->count as the nr_threads > indicator. > > I tried git blame to see if it remembers why, but the addition predates > 2.6.12 and so it does not know. > > Could you please shed some light on this? In short: signal->count must die. I was going to do this a long ago but never had the time. See also 4ab6c08336535f8c8e42cf45d7adeda882eff06e commit, this is the first step. Last time I did the grepping almost any usage of signal->count is not right. For example, __exit_signal() is correct, but it doesn't need to use ->count. Except: it is needed for things like get_nr_threads() in proc. In short: never use signal->count ;) Oleg.