http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50862

--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-10-26 
13:05:52 UTC ---
(In reply to comment #11)
> unique_lock<mutex> __my_lock(_M_mutex);
> _Unlock __unlock(__lock);
> unique_lock<mutex> __my_lock2(std::move(__my_lock));
> _M_cond.wait(__my_lock2);
> __unlock.release().lock(); // if no exception so far - may throw here

This re-locks it while _M_mutex is locked, reintroducing the deadlock

Reply via email to