--- dazuko-2.1.0-pre7/dazuko_linux26.c.org 2005-07-26 20:16:32.000000000 +0300 +++ dazuko-2.1.0-pre7/dazuko_linux26.c 2005-07-26 20:20:54.000000000 +0300 @@ -159,7 +159,14 @@ inline int xp_wait_until_condition(struc wait_event(queue->queue, cfunction(cparam) != 0); } - return 0; +#ifdef PF_FREEZE + if (current->flags & PF_FREEZE) + refrigerator(PF_FREEZE); +#else + try_to_freeze(); +#endif + + return signal_pending(current); } inline int xp_notify(struct xp_queue *queue)