【发布时间】:2010-10-20 03:53:57
【问题描述】:
我有一个用 C++ 编写的简单库,我正在为使用 boost.python 创建一个 Python 包装器。有些函数需要很长时间才能执行(超过 30 秒),我想让它可中断,这样当我在 python 解释器中按 ctrl-d 触发 KeyboardInterrupt 时,我能够以某种方式在 C++ 中响应它。
有没有办法做到这一点?我在 boost.org 或 python.org 上找不到任何有关中断和 boost.python 的信息。
【问题讨论】:
-
如果您有一个最小的工作示例,如果您将其包含在内将是最有帮助的。谢谢。
-
我找到了一个例子here,但是很复杂。碰巧它使用 PyErr_CheckSignals()。
-
下面的答案,使用 PyErr_CheckSignals() 效果很好。谢谢。
标签: c++ python interrupt boost-python