|
Boost : |
From: Andrey Semashev (andysem_at_[hidden])
Date: 2007-09-02 15:37:57
Hello Tobias,
>>> 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
same URL:
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, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk