我需要在C ++中使用ACE将函数包装在超时中。 此函数正在等待来自操作系统的响应,有时它不会返回。
我无法修改该功能,所以我不能直接将中止条件放入其中。我必须在外部为函数添加超时。
我在提升中看到了类似的问题 - C++: How to implement a timeout for an arbitrary function call?
然而,我正在使用ACE。
答案 0 :(得分:1)
将该功能放在一个单独的线程中。如果线程在超时内没有退出,则将其分离并让它在后台运行以完成而不会得到任何结果。
请注意,如果该功能具有副作用(例如写入文件),则不会起作用。