[Boost-bugs] [Boost C++ Libraries] #11851: epoll_reactor::deregister_descriptor() release descriptor_data

Subject: [Boost-bugs] [Boost C++ Libraries] #11851: epoll_reactor::deregister_descriptor() release descriptor_data
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-12-17 08:04:45


#11851: epoll_reactor::deregister_descriptor() release descriptor_data
-------------------------------+----------------------------
 Reporter: ljl <404140036@…> | Owner: chris_kohlhoff
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: asio
  Version: Boost 1.58.0 | Severity: Problem
 Keywords: |
-------------------------------+----------------------------
 epoll_reactor::deregister_descriptor() function puts descriptor_state
 object in its object_pool, so it can be reused by
 epoll_reactor::register_descriptor() immediately, but the descriptor_state
 object may be yet referenced somewhere, for example, epoll_reactor::run()
 puts it in op_queue<operation>, and be about to execute
 operation::complete() in task_io_service::do_run_one() function. it will
 make logic problems when the descriptor_state object is reused indeed in a
 third thread by calling epoll_reactor::allocate_descriptor_state().

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11851>
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:19 UTC