boostorg / boostorg/process

Docs: Non-crossplatform assertion in stdio example

Open
#550 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
145
Forks
151
PR merge metrics
No merged PRs in 30d

Description

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](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile#pipes) and also an [ASIO issue](https://github.com/chriskohlhoff/asio/issues/1442).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.