Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 166450
b: refs/heads/master
c: 9beba3c
h: refs/heads/master
v: v3
  • Loading branch information
Darren Hart authored and Ingo Molnar committed Sep 24, 2009
1 parent a1a5f0d commit e81db56
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0729e196147692d84d4c099fcff056eba2ed61d8
refs/heads/master: 9beba3c54dd180a26a1da2027cfbe9edfaf9c40e
6 changes: 6 additions & 0 deletions trunk/kernel/futex.c
Original file line number Diff line number Diff line change
Expand Up @@ -1656,6 +1656,12 @@ static int fixup_owner(u32 __user *uaddr, int fshared, struct futex_q *q,
static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q,
struct hrtimer_sleeper *timeout)
{
/*
* The task state is guaranteed to be set before another task can
* wake it. set_current_state() is implemented using set_mb() and
* queue_me() calls spin_unlock() upon completion, both serializing
* access to the hash list and forcing another memory barrier.
*/
set_current_state(TASK_INTERRUPTIBLE);
queue_me(q, hb);

Expand Down

0 comments on commit e81db56

Please sign in to comment.