 signal.c |    9 +++++++++
 1 files changed, 9 insertions(+)
diff -ruNp 236-ppc-signal-try_to_freeze.patch-old/arch/ppc/kernel/signal.c 236-ppc-signal-try_to_freeze.patch-new/arch/ppc/kernel/signal.c
--- 236-ppc-signal-try_to_freeze.patch-old/arch/ppc/kernel/signal.c	2005-07-18 06:36:36.000000000 +1000
+++ 236-ppc-signal-try_to_freeze.patch-new/arch/ppc/kernel/signal.c	2005-07-19 04:35:01.000000000 +1000
@@ -711,6 +711,15 @@ int do_signal(sigset_t *oldset, struct p
 			goto no_signal;
 	}
 
+	if (freezing(current)) {
+		try_to_freeze();
+		signr = 0;
+		ret = regs->gpr[3];
+		recalc_sigpending();
+		if (!signal_pending(current))
+			goto no_signal;
+	}
+
 	if (!oldset)
 		oldset = &current->blocked;
 

