CppServer icon indicating copy to clipboard operation
CppServer copied to clipboard

CppServer::Asio::Timer is not thread-safe

Open herolover opened this issue 4 years ago • 0 comments
trafficstars

CppServer::Asio::Timer::Cancel method must be called from its io_context, otherwise there is a data race.

https://www.boost.org/doc/libs/1_75_0/doc/html/boost_asio/reference/system_timer.html#boost_asio.reference.system_timer.thread_safety

Or mark CppServer::Asio::Timer as not thread-safe.

P.S. I highly recommend to test all of your libs with thread sanitizer.

herolover avatar Feb 18 '21 14:02 herolover