跳转到主要内容

Cython的中断和信号处理

项目描述

https://travis-ci.org/sagemath/cysignals.svg?branch=master https://ci.appveyor.com/api/projects/status/vagqk56cj3ndycp4?svg=true https://readthedocs.org/projects/cysignals/badge/?version=latest

Cython和中断

在编写Cython代码时,必须特别注意确保代码可以被CTRL-C中断。由于Cython优化了速度,Cython通常不会检查中断。例如,以下代码在Cython中无法被中断:

while True:
    pass

cysignals包提供了在Cython代码中处理中断(以及其他信号和错误)的机制。

需求

  • Python >= 3.6

  • Cython >= 0.28

  • Sphinx >= 1.6(用于构建文档)

  • PARI/GP(可选;用于与PARI/GP信号处理器接口)

变更日志

1.11.4 (2023-10-07)

  • 再次将生成的configure脚本包含在sdist中。

1.11.3 (2023-10-04)

  • 添加对Cython 3的支持。[#174, #176, #182, #187]

  • 添加对Python 3.12的支持。

  • fprintf替换为调用write,根据POSIX,这是异步信号安全的。[#162]

  • 引入一个通用钩子,用于与自定义信号处理接口。[#181]

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

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

cysignals-1.11.4.tar.gz (105.1 kB 查看哈希值)

上传时间

构建分发

cysignals-1.11.4-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.5 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

cysignals-1.11.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (234.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (200.9 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

cysignals-1.11.4-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (227.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

cysignals-1.11.4-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (231.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (198.2 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

cysignals-1.11.4-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (227.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

cysignals-1.11.4-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (231.4 kB 查看哈希值)

上传时间: PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (198.2 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

cysignals-1.11.4-cp312-cp312-musllinux_1_1_x86_64.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp312-cp312-musllinux_1_1_i686.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.1+ i686

cysignals-1.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp312-cp312-macosx_10_9_x86_64.whl (239.2 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.9+ x86-64

cysignals-1.11.4-cp311-cp311-musllinux_1_1_x86_64.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp311-cp311-musllinux_1_1_i686.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ i686

cysignals-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp311-cp311-macosx_10_9_x86_64.whl (241.2 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

cysignals-1.11.4-cp310-cp310-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp310-cp310-musllinux_1_1_i686.whl (1.0 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

cysignals-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp310-cp310-macosx_10_9_x86_64.whl (239.5 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

cysignals-1.11.4-cp39-cp39-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp39-cp39-musllinux_1_1_i686.whl (1.0 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

cysignals-1.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp39-cp39-macosx_10_9_x86_64.whl (241.1 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

cysignals-1.11.4-cp38-cp38-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp38-cp38-musllinux_1_1_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

cysignals-1.11.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp38-cp38-macosx_10_9_x86_64.whl (242.1 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

cysignals-1.11.4-cp37-cp37m-musllinux_1_1_x86_64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp37-cp37m-musllinux_1_1_i686.whl (965.9 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ i686

cysignals-1.11.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB 查看哈希值)

上传时间: CPython 3.7m manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (950.0 kB 查看哈希值)

上传时间: CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp37-cp37m-macosx_10_9_x86_64.whl (241.2 kB 查看哈希值)

上传时间: CPython 3.7m macOS 10.9+ x86-64

cysignals-1.11.4-cp36-cp36m-musllinux_1_1_x86_64.whl (954.9 kB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.1+ x86-64

cysignals-1.11.4-cp36-cp36m-musllinux_1_1_i686.whl (908.2 kB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.1+ i686

cysignals-1.11.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (945.2 kB 查看哈希值)

上传时间: CPython 3.6m manylinux: glibc 2.17+ x86-64

cysignals-1.11.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (889.9 kB 查看哈希值)

上传时间: CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cysignals-1.11.4-cp36-cp36m-macosx_10_9_x86_64.whl (233.0 kB 查看哈希值)

上传时间: CPython 3.6m macOS 10.9+ x86-64

由以下支持