|
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