Boost logo

Boost :

Subject: Re: [boost] [boost.process] 0.6 Redesign
From: Klaim - Joël Lamotte (mjklaim_at_[hidden])
Date: 2016-04-18 14:52:07


On 18 April 2016 at 19:44, Klemens Morgenstern <klemens.morgenstern_at_[hidden]>
wrote:

> Am 18.04.2016 um 19:37 schrieb Klaim - Joël Lamotte:
>
>
>> At the current state, I have all functionality in the library that I want,
>>> but it's not polished at all. Also it of course needs more tests and
>>> documentation. But I think it sufficient to get the basic idea.
>>>
>>> You can check it out here:
>>> https://github.com/klemens-morgenstern/boost-process/tree/develop
>>> And the little documentation it has is found here:
>>> http://klemens-morgenstern.github.io/process/
>>>
>>> Additionally here are the development notes:
>>> https://github.com/klemens-morgenstern/boost-process/issues/2
>>>
>>> At the current state, the tests pass on linux as well as windows (gcc-5 &
>>> MSVC-14). Requirements are C++, boost.fusion, boost.asio,
>>> boost.iostreams,
>>> boost.filesystem and boost.system.
>>>
>>>
>>> I started reading the documentation but before getting into details,
>> could
>> you clarify if Boost.Asio is required even if you don't use communication
>> with the child processes?
>> We have a few tricky cases related to child process management on Windows,
>> in particular when trying to end a child process "cleanly" when it is
>> console program.
>> I'll have to check if you managed to fix the issues we are seeing, in
>> which
>> case this solution would be better than the hackish one we have.
>>
>
> Well no, boost.asio is not used when you don't pass it to execute. But it
> is included, which could be changed to forward-declarations.
>
> The implementation of the async wait is to just wait for the handle, so
> that's quite simple. That is basically what you find in test/exit_code.cpp
> : async_wait.
>
>
Nice!
I suppose that not including asio by default would help with compilation
time, if it's possible.

Anyway, for the termination problem:
https://github.com/klemens-morgenstern/boost-process/blob/develop/include/boost/process/detail/windows/terminate.hpp
There you use "boost::detail::winapi::TerminateProcess(p.process_handle(),
EXIT_FAILURE)"
Is it a terminate message or a "kill -9" kind of message on windows?

Joël Lamotte


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