Boost C++ Libraries: Ticket #11851: epoll_reactor::deregister_descriptor() release descriptor_data https://svn.boost.org/trac10/ticket/11851 <p> 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&lt;operation&gt;, 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(). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11851 Trac 1.4.3 anonymous Wed, 23 Dec 2015 13:29:04 GMT <link>https://svn.boost.org/trac10/ticket/11851#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11851#comment:1</guid> <description> <p> descriptor_state::do_complete() running this time seems for other associated socket, is this condition in your consideration? </p> </description> <category>Ticket</category> </item> </channel> </rss>