在boost :: asio中,如何在服务循环中添加超时?

时间:2011-02-13 23:52:29

标签: boost-asio

对于Boost :: asio来说,这是一个很老的Unix Select类型的人......

尝试访问select / epoll like timeout功能以突破事件循环。 添加一个asio计时器只是调用我的处理程序,但不允许我打破service.run()循环。不想删除服务只是暂时中断,也许稍后通过service.run()重新启动它。

同样如何从服务循环中删除文件描述符一段时间,如EPOLL_CTL_DEL。然后再将其添加回来再次进行维修?

由于

1 个答案:

答案 0 :(得分:1)

从您的deadline_timer处理程序中调用io_service.stop(),以便io_service.run()将返回控制权