Re: [tip:locking/core] sched/wait: Fix signal handling in bit wait helpers

From: NeilBrown
Date: Tue Dec 08 2015 - 20:06:47 EST


On Tue, Dec 08 2015, Peter Zijlstra wrote:

>>
>
> *sigh*, so that patch was broken.. the below might fix it, but please
> someone look at it, I seem to have a less than stellar track record
> here...

This new change seems to be more intrusive than should be needed.
Can't we just do:


__sched int bit_wait(struct wait_bit_key *word)
{
+ long state = current->state;
- if (signal_pending_state(current->state, current))
- return 1;
schedule();
+ if (signal_pending_state(state, current))
+ return -EINTR;
return 0;
}

??

(and sorry for breaking this in the first place!)

NeilBrown

Attachment: signature.asc
Description: PGP signature