ACE C ++ - 如何实现函数调用的超时?

时间:2014-04-10 07:59:57

标签: c++ methods timeout ace

我需要在C ++中使用ACE将函数包装在超时中。 此函数正在等待来自操作系统的响应,有时它不会返回。

我无法修改该功能,所以我不能直接将中止条件放入其中。我必须在外部为函数添加超时。

我在提升中看到了类似的问题 - C++: How to implement a timeout for an arbitrary function call?

然而,我正在使用ACE。

1 个答案:

答案 0 :(得分:1)

将该功能放在一个单独的线程中。如果线程在超时内没有退出,则将其分离并让它在后台运行以完成而不会得到任何结果。

请注意,如果该功能具有副作用(例如写入文件),则不会起作用。