Boost logo

Boost :

Subject: Re: [boost] Boost.Fiber mini-review September 4-13
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2015-09-04 14:24:58


On 9/4/2015 12:14 PM, Nat Goodspeed wrote:
> Hi all,
>
> The mini-review of Boost.Fiber by Oliver Kowalke begins today, Friday
> September 4th, and closes Sunday September 13th. It was reviewed in
> January 2014; the verdict at that time was "not in its present form."
> Since then Oliver has substantially improved documentation,
> performance, library customization and the underlying implementation,
> and is bringing the library back for mini-review.

I just had a quick look at the future implementation, to see if proper
chrono support (one of the reasons for my previous rejection) was
implemented. While `wait_for` depicts the standard signature, it does
not seem `wait_until` does.

There's also a great deal of code duplication for `T`, `T&` and `void`
while only a handful of functions differ. This is not a sign of good
design, and will make maintenance difficult.

The shared state has a few functions that *must* be called while holding
a lock, like `mark_ready_and_notify_`. It'd be better to make that
explicitly, and preferably have the type system enforce it, as currently
proving the correctness of those functions require tracing all the callers.

Uses of `condition::wait` and friends manually loop, instead of
leveraging the predicate based overload for readability.

Finally, `std::move` the algorithm lives in `<algorithm>`, while
`std::move` the utility lives in `<utililty>`.

That's all for now.

Regards,

-- 
Agustín K-ballo Bergé.-
http://talesofcpp.fusionfenix.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk