Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8730: Race condition in once_block.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-06-26 09:44:44
#8730: Race condition in once_block.hpp
-------------------------------+------------------------------------------
Reporter: apolukhin | Owner: andysem
Type: Bugs | Status: new
Milestone: To Be Determined | Component: log
Version: Boost 1.54.0 | Severity: Problem
Resolution: | Keywords: call_once atomics thread log
-------------------------------+------------------------------------------
Comment (by apolukhin):
Replying to [comment:9 andysem]:
> Replying to [comment:8 apolukhin]:
> >
> > May I ask a few more questions. Why there is so many things
'reinvented' in Boost.Log? Foe example I can see light_rw_mutex.cpp,
thread_safe_queue.cpp, thread_id.cpp, thread_specific.cpp and others...
They are all already implemented in Boost and tested for a long time. Why
don't you use them?
>
> Because for various reasons these implementations do not fit the
pressing requirements of the library.
>
> light_rw_mutex is more lightweight in terms of compile times and
probably run times (I haven't benchmarked it thoroughly) than
shared_mutex.
>
> Unlike thread::id, thread id attribute provides ids equivalent to those
you would typically see in debugger or system monitoring tools (i.e. some
notion of a system thread ids), which simplifies greatly debugging.
>
> TLS, as it is implemented in Boost.Log, guarantees maximum performance
the underlying system provides (unlike Boost.Thread implementation which
provided O(N) complexity of every access to the thread specific value at
some point; I think it's O(log(N)) now, but it is still worse than the
typical O(1) of the system TLS).
>
> I did propose some of these custom implementations to the respective
libraries but there was little interest. I may try again in the future
though.
All the changes sound good. Why don't you cooperate with Vicente Botet
(current maintainer of Boost.Thread) and propose your changes to him? I
don not really wish to see two different thread libraries in Boost - they
make resulting users code bigger and require more effort for maintaining.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8730#comment:10> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC