On Wed, May 15, 2019 at 05:26:28PM +0100, David Howells wrote:
> Add wait_var_event_interruptible() to allow interruptible waits for events.
> 
> Signed-off-by: David Howells <dhowe...@redhat.com>

Acked-by: Peter Zijlstra (Intel) <pet...@infradead.org>

> ---
> 
>  include/linux/wait_bit.h |   13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/include/linux/wait_bit.h b/include/linux/wait_bit.h
> index 2b0072fa5e92..7dec36aecbd9 100644
> --- a/include/linux/wait_bit.h
> +++ b/include/linux/wait_bit.h
> @@ -305,6 +305,19 @@ do {                                                     
>                 \
>       __ret;                                                          \
>  })
>  
> +#define __wait_var_event_interruptible(var, condition)                       
> \
> +     ___wait_var_event(var, condition, TASK_INTERRUPTIBLE, 0, 0,     \
> +                       schedule())
> +
> +#define wait_var_event_interruptible(var, condition)                 \
> +({                                                                   \
> +     int __ret = 0;                                                  \
> +     might_sleep();                                                  \
> +     if (!(condition))                                               \
> +             __ret = __wait_var_event_interruptible(var, condition); \
> +     __ret;                                                          \
> +})
> +
>  /**
>   * clear_and_wake_up_bit - clear a bit and wake up anyone waiting on that bit
>   *
> 

Reply via email to