Subject: Re: [boost] Solving Robert's singleton problem
From: Peter Dimov (lists_at_[hidden])
Date: 2018-10-18 21:58:30
Robert Ramey wrote:
> I'm quite confident that the problem will be solved in the near future
> just by doing the work to fix it. It's not rocket science, it just
> requires investment of time and effort by someone who understands the
> library and C++
The problem has already been fixed, by Alexander Grund. The fix, in its
latest incarnation, is in #131.
- the Serialization library crashes on exit in certain scenarios, as
demonstrated by the tests in #111 and #128.
- this is caused by the fact that singleton<X>::is_destroyed() always
returns false, as demonstrated by the test in #129.
(At extended_type_info_typeid.cpp:99, the code tests
singleton<tkmap>::is_destroyed(), and if false, proceeds to use
singleton<tkmap>::get_mutable_instance(). But since is_destroyed always
returns false, the check doesn't work and doesn't prevent the library from
accessing the destroyed tkmap in the scenario in question.)
- a fix for is_destroyed() is proposed in #131. It makes the tests from
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk