[PATCH] Software suspend and recalc sigpending bug fix
authorKirill Korotaev <dev@sw.ru>
Thu, 23 Jun 2005 07:09:51 +0000 (00:09 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 23 Jun 2005 16:45:27 +0000 (09:45 -0700)
commit4fea2838aa00b9e59efde974dcdb455608192811
treef5de626cd00b232c8d3183bfcf3a1a669c1ff738
parentaf4d2ecbf007b7df3db7a41eedccdc05b8006d0b
[PATCH] Software suspend and recalc sigpending bug fix

This patch fixes recalc_sigpending() to work correctly with tasks which are
being freezed.

The problem is that freeze_processes() sets PF_FREEZE and TIF_SIGPENDING
flags on tasks, but recalc_sigpending() called from e.g.
sys_rt_sigtimedwait or any other kernel place will clear TIF_SIGPENDING due
to no pending signals queued and the tasks won't be freezed until it
recieves a real signal or freezed_processes() fail due to timeout.

Signed-Off-By: Kirill Korotaev <dev@sw.ru>
Signed-Off-By: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/signal.c