Messages in this thread | | | From | NeilBrown <> | Date | Wed, 09 Dec 2015 12:06:33 +1100 | Subject | Re: [tip:locking/core] sched/wait: Fix signal handling in bit wait helpers |
| |
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 [unhandled content-type:application/pgp-signature] | |