On 08/05/16 16:09, Bart Van Assche wrote:
If delivery of a signal and __wake_up_common() happen concurrently
it is possible that the signal is delivered after __wake_up_common()
woke up the affected task and before bit_wait_io() checks whether a
signal is pending. Avoid that the next waiter is not woken up if this
happens.

(replying to my own e-mail)

Although this patch works reliably in my tests, the above description does not explain the hang. I will resend this patch with a better description.

Bart.

Reply via email to