In the stdio.cpp example there is the following assertion: assert(!ec || (ec == asio::error::eof)); after reading from the pipe. On Windows it would fire because ec would be asio::error::broken_pipe. As far as I understand, if the process ended the writing part of the pipe has been closed so the error won't be eof. See MSDN and also an ASIO issue.
In the stdio.cpp example there is the following assertion:
assert(!ec || (ec == asio::error::eof));after reading from the pipe. On Windows it would fire becauseecwould beasio::error::broken_pipe. As far as I understand, if the process ended the writing part of the pipe has been closed so the error won't beeof. See MSDN and also an ASIO issue.