Subject: Re: [boost] libs/sync?
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2017-08-04 08:43:46
On 08/04/17 11:26, Peter Dimov via Boost wrote:
> Andrey Semashev wrote:
>> On 08/04/17 03:28, Peter Dimov via Boost wrote:
>> > We have a submodule libs/sync on the develop branch that isn't on >
>> master. What's its fate? Is it going to become a released library at >
>> some point, or should we remove it?
>> I sure hope to get it released at some point. The work on it has
>> stalled some time ago, but I'm not giving up on it. For example, I
>> recently updated Boost.Atomic with features for Boost.Sync.
>> The current state of Boost.Sync is that it is missing docs, some
>> Windows code needs updating with new features from Boost.Atomic and I
>> think the code related to time units needed updating too (I can't
>> remember the details now).
> We should probably remove it as a submodule then, while still keeping
> the repo. At some point, when ready, it will probably have to undergo a
> review of some form.
Well, the benefit of having it as a submodule is that it is getting
tested. But if it poses a problem, sure, we can remove it.
> Since we're on the topic, would you please remind me what was the
> purpose of the library? I remember that it was an offshoot of
> Boost.Thread, but no more than that.
Basically, yes. The library is a collection of low level synchronization
primitives, such as mutexes, events, semaphores, etc. Most of it is more
lightweight and header-only, unlike Boost.Thread, so if you only need
synchronization stuff you don't need to link with a library. Boost.Sync
also aims to be agnostic to a timing library and should work equally
well with std::chrono, Boost.Chrono and Boost.DateTime. Also, Boost.Sync
offers some primitives that are not in Boost.Thread.