--- clean/kernel/signal.c 2004-08-15 19:15:06.000000000 +0200 +++ linux/kernel/signal.c 2004-08-15 19:35:44.000000000 +0200 @@ -1433,9 +1433,7 @@ int why, status; struct sighand_struct *psig; - if (sig == -1) - BUG(); - + BUG_ON(sig == -1); BUG_ON(tsk->group_leader != tsk && tsk->group_leader->state != TASK_ZOMBIE && !tsk->ptrace); BUG_ON(tsk->group_leader == tsk && !thread_group_empty(tsk) && !tsk->ptrace); @@ -2162,6 +2160,8 @@ if (timeout) ret = -EINTR; } + if (current->flags & PF_FREEZE) + refrigerator(1); return ret; }