From Jason Turner

[thread.condition.nonmember]

Diff to HTML by rtfpessoa

tmp/tmpxcyujw6n/{from.md → to.md} RENAMED
@@ -11,11 +11,11 @@ void notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk);
11
  supplied by all concurrently waiting (via `wait`, `wait_for`, or
12
  `wait_until`) threads.
13
 
14
  *Effects:* Transfers ownership of the lock associated with `lk` into
15
  internal storage and schedules `cond` to be notified when the current
16
- thread exits, after all objects of thread storage duration associated
17
  with the current thread have been destroyed. This notification is
18
  equivalent to:
19
 
20
  ``` cpp
21
  lk.unlock();
@@ -28,11 +28,11 @@ the current thread.
28
 
29
  [*Note 1*: The supplied lock is held until the thread exits, which
30
  might cause deadlock due to lock ordering issues. — *end note*]
31
 
32
  [*Note 2*: It is the user’s responsibility to ensure that waiting
33
- threads do not erroneously assume that the thread has finished if they
34
  experience spurious wakeups. This typically requires that the condition
35
  being waited for is satisfied while holding the lock on `lk`, and that
36
  this lock is not released and reacquired prior to calling
37
  `notify_all_at_thread_exit`. — *end note*]
38
 
 
11
  supplied by all concurrently waiting (via `wait`, `wait_for`, or
12
  `wait_until`) threads.
13
 
14
  *Effects:* Transfers ownership of the lock associated with `lk` into
15
  internal storage and schedules `cond` to be notified when the current
16
+ thread exits, after all objects with thread storage duration associated
17
  with the current thread have been destroyed. This notification is
18
  equivalent to:
19
 
20
  ``` cpp
21
  lk.unlock();
 
28
 
29
  [*Note 1*: The supplied lock is held until the thread exits, which
30
  might cause deadlock due to lock ordering issues. — *end note*]
31
 
32
  [*Note 2*: It is the user’s responsibility to ensure that waiting
33
+ threads do not incorrectly assume that the thread has finished if they
34
  experience spurious wakeups. This typically requires that the condition
35
  being waited for is satisfied while holding the lock on `lk`, and that
36
  this lock is not released and reacquired prior to calling
37
  `notify_all_at_thread_exit`. — *end note*]
38