Skip to content

[Windows] Setting the capacity of the underline pipe #470

Open
@PolarGoose

Description

@PolarGoose

I have encountered a similar issue to Setting the capacity of the underline pipe. Linux only but on Windows.

My code is the following:

void RunProcess(const std::string& exePath, std::vector<std::string> 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

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions