title: Delete std::condition_variable_any directly after notify_all crashes
body: <p>I have a portion of code, where one thread calls something like:</p>
  
  <pre><code>cond-&gt;notify_all();
  delete cond;
  </code></pre>
  
  <p>with</p>
  
  <pre><code>std::condition_variable_any cond;
  </code></pre>
  
  <p>Afaik, this should work, since <a href="http://en.cppreference.com/w/cpp/thread/condition_variable_any/~condition_variable_any" rel="nofollow">I should be allowed to delete the condition variable, as soon as I notified all threads waiting on it</a>, they don't have to have resumed from the <i>wait</i> call.</p>
  
  <p>On Windows, this sometimes, crashes for me with an error:</p>
  
  <pre><code>mutex destroyed while busy
  </code></pre>
  
  <p>printed to stdout</p>
  
  <p>On linux, with <b>clang 3.5</b> this works perfectly fine, on windows I use <b>Visual Studio 2013, with v120 tookit</b>, v120 is the default one.</p>
  
  <p>Did I do something wrong, did I missunderstand the standard, or is M$ doing something wrong here? If it does, how can I work around that?</p>