Boost logo

Boost :

Subject: Re: [boost] [process] Formal Review starts today, 27 October
From: Bjorn Reese (breese_at_[hidden])
Date: 2016-11-20 09:02:25


On 11/20/2016 01:38 PM, Klemens Morgenstern wrote:

> How? How can I turn a sequence of calls valid when the object stays the
> same and each call is valid?

Look at the sqlpp11 codebase.

> I'm sorry, but I think you still do not understand how that works.

Oh I understand it perfectly fine. I am pointing out that your yield
integration does not fulfill the requirements for asynchronous
operations. Look at the Asio references implementation and tell me if
you can find any async_ functions that take an error_code output
parameter.

> Two things can hapen:
>
> 1. The process launches successfully
> --> No error in ec, the coroutine is suspended the wait-handle might
> fail, which is not captured (but could be with yield[ec_yield])
> 2. The process does not launch
> --> ec is set, the couroutine is NOT suspended and nor error can
> occur since the code does not wait for the handle (obviously, since
> there is none) so yield does nothing.

Case 2 is where you deviate from the Asio model.

Normally we post a function on the io_service that calls the handler
with the error to fullfil the requirement that all errors are reported
via the handler.


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