Looks like the io_service::stop() only let the run() return. And the io_service::~io_service will destroy all the handlers.

Is there a way to let io_service finish all the queued handlers and then stop?

有帮助吗?

解决方案

This happens automatically: io_service::run will automatically unblock once all work has been completed (and no new work is added). This is provided that you do not use an io_service::work object.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top