https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103382
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #10)
> (In reply to Richard Biener from comment #9)
> > For the record, compiling with affected GCC but link editing against fixed
> > libstdc++ makes the testcase no longer terminate but at the expense of not
> > unlocking the mutex.
> 
> Is that because the lambda function doesn't contain a finally block to call
> the ~unique_lock destructor when the unwind exception happens?

Yes.  Making the lambda nothrow() would make us run into a MUST_NOT_THROW
handler, that might be another failure mode.

Reply via email to