LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Скорее всего можно. Под капотом send_ping вызывает asio::post.

Submits a completion token or function object for execution.

От функции с таким описанием ожидаешь thread safety, потому что явно один тред постит таски, а другой тред их исполняет (и, возможно, даже не один).

Но я бы на твоём месте создал Issue в репе проекта с просьбой указать в документации thread safety статус, потому что для человека со стороны это не очевидно и от явного указания (хотя бы в списке фич «All methods are thread safe» или «All methods except initialization are thread safe» или как там оно) мир станет лучше.

https://github.com/ipkn/crow/issues/244

Вон тут пишут, что каждый сокет привязан к своему треду по round robin модели и все callback для одного подключения будут вызваны на одном и том же треде. То есть теоретически авторы могут писать код методов класса подключения не потокобезопасно.

Исходная версия KivApple, :

Скорее всего можно. Под капотом send_ping вызывает asio::post.

Submits a completion token or function object for execution.

От функции с таким описанием ожидаешь thread safety, потому что явно один тред постит таски, а другой тред их исполняет (и, возможно, даже не один).

Но я бы на твоём месте создал Issue в репе проекта с просьбой указать в документации thread safety статус, потому что для человека со стороны это не очевидно.

https://github.com/ipkn/crow/issues/244

Вон тут пишут, что каждый сокет привязан к своему треду по round robin модели и все callback для одного подключения будут вызваны на одном и том же треде. То есть теоретически авторы могут писать код методов класса подключения не потокобезопасно.