连接到提升命名管道

时间:2019-03-19 17:49:19

标签: c++ windows boost-asio named-pipes boost-process

我有此代码:

  boost::asio::io_service ios;
  std::vector<char> buf(20);
  bp::async_pipe ap(ios, "\\\\.\\pipe\\SamplePipe");
  boost::asio::async_read(ap, boost::asio::buffer(buf),
    [](const boost::system::error_code &ec, std::size_t size) {});
  ios.run();

现在,我在cmd中执行echo 42 > \\.\pipe\SamplePipe,并期望异步读取缓冲区。但是相反,我收到以下错误:“所有管道实例都在忙。”有人可以向我解释为什么会发生这种情况以及我该如何解决吗?

1 个答案:

答案 0 :(得分:0)

在新版本的boost中已修复。参见this