Boost logo

Boost Users :

Subject: [Boost-users] "Invalid handle" error trying to use boost::process
From: tom_at_[hidden]
Date: 2017-05-08 10:57:41


I'm trying to run a simple program with boost::process, with boost 1.64
I'm using Windows, and visual studio 2015.

I'm just trying to run the supplied "async_cio.cpp" example:

My program is:
    boost::asio::io_service ios;
    boost::asio::streambuf buffer;

    bp::child c(
        "cmd /c dir",
        bp::std_out > buffer,
        ios
        );

    ios.run();

(I've changed if from launching "test.exe" to launching "cmd /c dir").

If I run this I get:
  Exception thrown at 0x49409D2A in ConsoleApplication3.exe: 0xC0000008: An invalid handle was specified.

Running in the debugger, it is in the destructor of the async_pipe object, in "win_iocp_handle_service::close_for_destruction".

I've tried various of the examples with varying degrees of success. But any time I seem to use an async_pipe, I seem to get an "invalid handle" exception when it is calling CloseHandle on the completion port handle.

Any ideas what I'm doing wrong?

Thanks.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net