boostorg / boostorg/process

[Windows] Setting the capacity of the underline pipe

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

Description

I have encountered a similar issue to [Setting the capacity of the underline pipe. Linux only](https://github.com/boostorg/process/issues/322) but on Windows.

My code is the following:
```
void RunProcess(const std::string& exePath, std::vector args) {
boost::asio::io_context ctx;
boost::asio::readable_pipe stdOutPipe(ctx), stdErrPipe(ctx);
boost::process::v2::process proc(ctx, exePath, args, boost::process::v2::process_stdio{ {}, stdOutPipe, stdErrPipe }, boost::process::v2::windows::show_window_hide);
/* ... */
```

The `readable_pipe` gets a native pipe of only 8kb here: [connect_pipe.ipp::create_pipe](https://github.com/boostorg/asio/blob/2af02fa2c817a61c30762713d791962e448e35b4/include/boost/asio/impl/connect_pipe.ipp#L71C13-L71C23)

8kb is very little if we need to get a lot of input from a process because the process will have to get blocked constantly until the pipe is cleared.

Is it possible to increase the pipe buffer size?

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.