Ticket #3923 (closed Bugs: fixed)
ASIO calls copy-constructor for handler object from another thread
|Reported by:||Dmitry||Owned by:||chris_kohlhoff|
win_iocp_socket_service use select_reactor with OwnThread?=true for performing connect operations. While finish connect op, handler copy-constructed on the stack (reactor_op_queue::do_complete/do_destroy), but constructor invoked from another thread (internal thread of select_reactor). That means, that if our handler have specific copy-constructor (for example, we use intrusive_ptr for holding this in bind_t) we need to synchronize it with main thread (or use interlocked functions).