From: Andrey Semashev (andysem_at_[hidden])
Date: 2007-09-02 15:37:57
>>> Another potential issue: It seems Win32 and MacOS variants are currently
>>> not exception-safe. That is, the initialization routine isn't rerun if
>>> it has thrown the first time 'once' was called.
>> Yep, thanks for spotting that. I'll fix that in a couple of days and
>> update the library archive in the Vault. I'll post here a notification
>> when it's done.
> Looking forward to it!
Ok, I reworked the lightweight call_once implementations for most of
the supported platforms. Changes include:
- Removed lexical_cast and iostreams.
- Added Vista API support. This implementation does not emulate mutex
by sleeping, thus improving performance.
- Fixed exception safety issues.
- Explicit memory barriers usage is now enabled by default (if the
appropriate support is discovered during compilation).
The implementation is uploaded to the Vault and available through the
Since there were major changes, I would really appreciate if someone
experienced take a look at it.
-- Best regards, Andrey mailto:andysem_at_[hidden]
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk