boost Async boost::process IMPORTANT for boost 1.64


Example

There is a bug/fix for boost 1.64, the bug only affects Windows, apparently.

reference: https://github.com/klemens-morgenstern/boost-process/issues/90 and https://github.com/klemens-morgenstern/boost-process/commit/74814e46c1614850a8e447fd689c21cf82f36ceb

in file boost\process\detail\windows\async_pipe.hpp, line 79:

    ~async_pipe()
    {
//fix
        //if (_sink .native()  != ::boost::detail::winapi::INVALID_HANDLE_VALUE_)
        //    ::boost::detail::winapi::CloseHandle(_sink.native());
        //if (_source.native() != ::boost::detail::winapi::INVALID_HANDLE_VALUE_)
        //    ::boost::detail::winapi::CloseHandle(_source.native());
        boost::system::error_code ec;
        close(ec);
//fix
    }