为嵌入式 Lua 设置超时时间

我在C/C++应用程序中嵌入了Lua。我想设置一个超时值,以防止被糟糕的脚本困住,这些脚本可能会导致无限循环(甚至可能需要无限时间才能完成字符串搜索)。

基本上,我想能够设置一个时间间隔,如果脚本在该时间间隔结束时未能完成运行,我想能够杀死Lua脚本引擎(如果可能的话优雅地)。

有人知道最佳实践的方法吗?

原文链接 https://stackoverflow.com/questions/4508147

点赞
stackoverflow用户107090
stackoverflow用户107090

一种控制脚本执行时间的方法是设置计数钩子,然后在钩子中引发错误。但如果脚本调用可能需要很长时间的 C 函数,则此方法无法起作用。

2010-12-22 10:49:04