Boost logo

Boost :

From: Foelsche, Peter (peter.foelsche_at_[hidden])
Date: 2023-06-29 18:17:55


Dear All,

On windows flyweight simple_locking is using std::mutex but it should be using std::recursive_mutex.

I've got this firing an exception due to _Check_C_return() getting passed something else than success (number 3).

I've checked by implementing my own locking policy and it definitely shows that the code is attempting to hold more than a single lock in parallel on the same mutex.
The secured set.erase() can cause further flyweights to be destroyed given a suitable recursive use of flyweight.

Kind Regards
Peter Foelsche

PS.
Thanks for boost!


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk