Cython 的中断和信号处理
项目描述
Cython 和中断
编写Cython代码时,必须特别注意确保可以使用CTRL-C中断代码。由于 Cython 优化了速度,Cython 通常不检查中断。例如,在 Cython 中不能中断如下代码:
while True: pass
cysignals包提供了在Cython代码中处理中断(以及其他信号和错误)的机制。
要求
蟒蛇> = 3.6
赛通 >= 0.28
Sphinx >= 1.6(用于构建文档)
PARI/GP(可选;用于与 PARI/GP 信号处理程序接口)
链接
Python 包索引上的 cysignals:https ://pypi.org/project/cysignals/
GitHub 上的 cysignals 代码存储库和问题跟踪器:https ://github.com/sagemath/cysignals
阅读文档的完整 cysignals 文档:http ://cysignals.readthedocs.io/
变更日志
1.11.2 (2021-12-15)
删除 1.10.3 之后添加的不可移植的汇编代码。
1.11.0 (2021-11-26)
放弃对 Python 2 的支持;将最低 Python 版本提高到 3.6。[#142]
修复了使用 glib 3.34 进行的编译。[#151]
改进的测试。[#139、#152、#154]
1.10.3 (2021-03-16)
使用pip install -e改进了 cysignals 的安装。[#130]
修复了也使用 cysignals 的 OpenMP 模块的编译。[#128]
修复了在垃圾收集期间递归调用sig_occurred()时可能发生的分段错误。[#127]
改进了在sig_on()内部而不是在它们外部发生的信号的错误报告。
修复了cysignals_example包中的错误。[#113]
有关以前版本的更改,请参阅比较 git 标签的最佳可用来源:https ://github.com/sagemath/cysignals/tags