Re: [Boost-bugs] [Boost C++ Libraries] #3900: Request for support of "release" member function or assign without ownership transfer to asio socket

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3900: Request for support of "release" member function or assign without ownership transfer to asio socket
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-03-18 03:29:13


#3900: Request for support of "release" member function or assign without
ownership transfer to asio socket
---------------------------------+------------------------------------------
 Reporter: artyomtnk@… | Owner: chris_kohlhoff
     Type: Feature Requests | Status: new
Milestone: Boost 1.43.0 | Component: asio
  Version: Boost 1.42.0 | Severity: Problem
 Keywords: |
---------------------------------+------------------------------------------

Comment(by chris_kohlhoff):

 The reason I have not included a socket.release() function is that it
 gives an incorrect illusion of portability. On Windows, adding a socket to
 an io_service irreversibly binds the socket to the underlying I/O
 completion port. The lack of release() models that restriction.

 A lot more thought is required to determine if there is a satisfactory
 design solution. I could, however, easily add a release() function to
 posix::stream_descriptor. Does that cover your use cases?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3900#comment:2>
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:02 UTC