diff options
| author | Anton Altaparmakov <aia21@cantab.net> | 2006-01-03 07:51:07 -0500 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@cantab.net> | 2006-01-03 07:51:07 -0500 |
| commit | d087e4bdd24ebe3ae3d0b265b6573ec901af4b4b (patch) | |
| tree | c2db1b4958bbf617a25398b7ef93d82006b26a17 /kernel/futex.c | |
| parent | 292d4ed32e35df4755052b5002e533348d1648fd (diff) | |
| parent | 88026842b0a760145aa71d69e74fbc9ec118ca44 (diff) | |
Merge branch 'master' of /usr/src/ntfs-2.6/
Diffstat (limited to 'kernel/futex.c')
| -rw-r--r-- | kernel/futex.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/futex.c b/kernel/futex.c index 5872e3507f35..5e71a6bf6f6b 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
| @@ -270,7 +270,13 @@ static void wake_futex(struct futex_q *q) | |||
| 270 | /* | 270 | /* |
| 271 | * The waiting task can free the futex_q as soon as this is written, | 271 | * The waiting task can free the futex_q as soon as this is written, |
| 272 | * without taking any locks. This must come last. | 272 | * without taking any locks. This must come last. |
| 273 | * | ||
| 274 | * A memory barrier is required here to prevent the following store | ||
| 275 | * to lock_ptr from getting ahead of the wakeup. Clearing the lock | ||
| 276 | * at the end of wake_up_all() does not prevent this store from | ||
| 277 | * moving. | ||
| 273 | */ | 278 | */ |
| 279 | wmb(); | ||
| 274 | q->lock_ptr = NULL; | 280 | q->lock_ptr = NULL; |
| 275 | } | 281 | } |
| 276 | 282 | ||
