Re: [Boost-bugs] [Boost C++ Libraries] #8722: The boost::asio::windows::stream_handle::read_some method may (incorrectly) throw when used with named-pipes in message mode (on Windows) and receives an ERROR_MORE_DATA error

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8722: The boost::asio::windows::stream_handle::read_some method may (incorrectly) throw when used with named-pipes in message mode (on Windows) and receives an ERROR_MORE_DATA error
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-05-16 00:13:32


#8722: The boost::asio::windows::stream_handle::read_some method may (incorrectly)
throw when used with named-pipes in message mode (on Windows) and receives
an ERROR_MORE_DATA error
-----------------------------------------+----------------------------
  Reporter: Dentcho Bankov <dbankov@…> | Owner: chris_kohlhoff
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: asio
   Version: Boost Development Trunk | Severity: Problem
Resolution: fixed | Keywords:
-----------------------------------------+----------------------------

Comment (by aoney@…):

 Replying to [comment:4 chris_kohlhoff]:
> Can you please clarify what you mean by:
>
> > Thus, the change does not revert the logic back to how it looked in
 boost 1.47 (in boost 1.48, the ERROR_MORE_DATA check was removed, only to
 be added back later).
>
> as version control shows no diffs in win_iocp_handle_service.ipp between
 those versions.

 Never mind on the 1.47 comment (I was looking at our fork of 1.47, not
 boost's).

>
> In any case, I now think that the premise of this bug report was wrong.
 The read_some() method '''should''' throw if ReadFile fails with
 ERROR_MORE_DATA. If you don't want it to throw, you use the error_code
 overload. It just needs to also return the bytes_transferred value when it
 does.
>
> This should be done as a new ticket as the behaviour is different from
 the one described in this bug report.

 Exposing the 'torn message' case is indeed better than the alternative.
 That said, for us being able to treat a message pipe like a byte-stream
 pipe has proved valuable.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8722#comment:6>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC