Hi,
in Boost 1.58 I fixed some issues as the result of the async and
future<T>:then() was not a blocking future as the
documentation described. However the implementation is horrible
and I suspect that it is subject to deadlocks. BTW, I added
already some fixes on the develop branch.
Sometime ago I started in a branch an implementation that don't
use blocking futures [1]. Well
the implementation is also horrible after making futures
non-blocking, but less ;-) The problem is that now I
have some issues with the executors :(
Anyway, Gor has told me that with the blocking implementation he
is unable to define await_suspend (using resumable functions)
>It is just if
.then returns a blocking future, I cannot subscribe a callback
to .then in await_suspend.
>await_suspend(f, cb) {
> f.then(cb);
>} & will block here preventing coroutine from
suspending
I don't know yet if
he will reach to configure boost::future<T> on the
non-blocking branch.
My question is if the Boost community will accept (or even wants) a
breaking change on a near release (when I would reach to fix the
executors issues) including non-blocking futures instead of the
current blocking futures.
Best,
Vicente
[1] https://github.com/boostorg/thread/tree/feature/non_blocking_futures