On Sunday, 21 October 2007 11:58, Pavel Machek wrote:The fix has not been merged yet, but freezer-use-wait-queue-instead-of-busy-looping.patch has been dropped for another reason. The mysqld problem seems to have been caused by another patch, though, and the fix is appended. Greetings, Rafael --- From: Rafael J. Wysocki <rjw@sisk.pl> Do not allow processes to clear their TIF_SIGPENDING if TIF_FREEZE is set, so that they will not race with the freezer (like mysqld, for example). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- kernel/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.23-mm1/kernel/signal.c =================================================================== --- linux-2.6.23-mm1.orig/kernel/signal.c +++ linux-2.6.23-mm1/kernel/signal.c @@ -124,7 +124,7 @@ void recalc_sigpending_and_wake(struct t void recalc_sigpending(void) { - if (!recalc_sigpending_tsk(current)) + if (!recalc_sigpending_tsk(current) && !freezing(current)) clear_thread_flag(TIF_SIGPENDING); } -
