Hello.
I use io_service to asynchronously accept incoming TCP connections and then only asynchronously read/write into accepted incoming connections. Each operation is embraced into try/catch.
Call to socket::shutdown(), sometimes, just under Linux (not Windows), fails with "Transport endpoint is not connected" error. That's alright - my server keeps working, but, much more rarely (at least 10 times) an exception with the same name is thrown from io_service::run() which makes my server crash.
I embraces all operations with asio (io_service::run(), async_accept(), async_read_some() and async_write()) but it didn't helped - I still catch this exception.
It does not happen under Windows.

Hot to get rid of it? What's the reason of the exception?
Thank you.