Re: [PATCH 6/6] freezer: kill unused set_freezable_with_signal()

From: Oleg Nesterov
Date: Tue Sep 06 2011 - 11:29:17 EST


On 09/06, Oleg Nesterov wrote:
>
> Yes, agreed. In this case I think it should be
>
> #define wait_event_freezable(wq, condition) \
> ({ \
> int __retval; \
> for (;;) { \
> __retval = wait_event_interruptible(wq, \
> (condition) || freezing(current)); \
> if (__retval || (condition)) \
> break; \
> try_to_freeze(); \
> } \
> __retval; \
> })
>
> __retval/ERESTARTSYS is only needed for kthreads which play with allow_signal(),
> probably nobody should do this.

I meant, unless the caller plays with allow_signal(), it has all rights to do

if (wait_event_freezable(...))
BUG();

This becomes correct with the code above.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/