tag:blogger.com,1999:blog-1647814752446097280.post6792263470385175049..comments2019-08-20T09:24:08.390+01:00Comments on Cide by Cide: Let's keep moving (will the puns ever end?)Paulo Caetanohttp://www.blogger.com/profile/03574085197537324973noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-1647814752446097280.post-60404789074110494732019-08-20T09:24:08.390+01:002019-08-20T09:24:08.390+01:00I just saw that win_iocp_socket_service_base (the ...I just saw that win_iocp_socket_service_base (the one with the problematic win_mutex) is only a pointer member in the template-specialization of basic_io_object for move-capable compilers. See basic_io_object.hpp:234 (1.62). This way, moving a socket moves the pointer to the member of this service instance which should be ok. We probably have a different problem.Danielhttps://www.blogger.com/profile/04472243672255735619noreply@blogger.comtag:blogger.com,1999:blog-1647814752446097280.post-82875473131763729852019-08-20T08:18:26.261+01:002019-08-20T08:18:26.261+01:00It's been a while since you postet this. We ju...It's been a while since you postet this. We just ran into the very same problem, however it doesn't always occur. We are happily moving our sockets around and on windows we observed segfaults immediately after std::move(socket). Did you file a bug for this back then? The issue and the win_mutex within win_iocp_socket_base still exists at least in 1.62 and according to the documentation (https://www.boost.org/doc/libs/1_71_0/doc/html/boost_asio/overview/cpp2011/move_objects.html) they still seem to support moving of sockets without any notice regarding OS limitations. Anyway, great and amusing article :)<br /><br />Cheers<br />DanielDanielhttps://www.blogger.com/profile/04472243672255735619noreply@blogger.com