Under Ubuntu 2404LTS with boost version 1.65.1.
I use io_service to initiate asio::ip::tcp::socket async_connect and get socket1, then I read several messages from it.
After receving some specific message from socket1, I call io_service::stop() with remaining/unhandler handler in the io_service and explicitly invoke socket1.close(), and check ec is 0 so the close is successful.
This is the magic part, I call io_service::reset() and after I try to create another socket2 and run io_service::run() again, this also initiate connect for socket1, so there are now 2 live sockets.
What's happening here? I think it may be caused by the remaining handlers in the io_service object, but how come it will initiate connect for the socket1?
