Re: [Boost-bugs] [Boost C++ Libraries] #8967: Spurious zero bytes written and eof notifications highlight ASIO IOCP issues

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8967: Spurious zero bytes written and eof notifications highlight ASIO IOCP issues
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-10-01 11:06:12


#8967: Spurious zero bytes written and eof notifications highlight ASIO IOCP
issues
-------------------------+-------------------------------------------------
  Reporter: | Owner: chris_kohlhoff
  simoncperkins@… | Status: closed
      Type: Bugs | Component: asio
 Milestone: To Be | Severity: Problem
  Determined | Keywords: eof GetQueuedCompletionStatus
   Version: Boost | WSARecv WSASend overlapped
  1.54.0 |
Resolution: invalid |
-------------------------+-------------------------------------------------
Changes (by chris_kohlhoff):

 * status: new => closed
 * resolution: => invalid

Comment:

 The OVERLAPPED object must remain valid until *both* the following
 conditions are true:

 1) The initiating function (e.g. WSARecv) has returned.

 2) The completion packet has been dequeued via GetQueuedCompletionStatus.

 Freeing the memory immediately after (2) can result in an access violation
 if (1) has not yet happened. The on_pending() function and the ready_ flag
 exist to cover the case where (2) happens before (1).

 Boost 1.54 had a regression that prevented on_pending() from working
 correctly. This has now been fixed. See #8933.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8967#comment:4>
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:14 UTC