Skip to content
forked from sagemath/cysignals

cysignals: interrupt and signal handling for Cython

License

Notifications You must be signed in to change notification settings

kliem/cysignals

 
 

Repository files navigation

cysignals: interrupt and signal handling for 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 and interrupts

When writing Cython code, special care must be taken to ensure that the code can be interrupted with CTRL-C. Since Cython optimizes for speed, Cython normally does not check for interrupts. For example, code like the following cannot be interrupted in Cython:

while True:
    pass

The cysignals package provides mechanisms to handle interrupts (and other signals and errors) in Cython code.

Requirements

  • Python >= 3.6
  • Cython >= 0.28
  • Sphinx >= 1.6 (for building the documentation)
  • PARI/GP (optional; for interfacing with the PARI/GP signal handler)

Links

Changelog

1.11.0 (unreleased)

  • Fixed compilation with glib 3.34.

1.10.3 (2021-03-16)

  • Improved installation of cysignals with pip install -e. [#130]
  • Fixed compilation of OpenMP modules that also use cysignals. [#128]
  • Fixed segmentation fault that could occur when sig_occurred() is called recursively during garbage collection. [#127]
  • Improved error reporting of signals that occurred inside sig_on() as opposed to outside them.
  • Fixed bug in the cysignals_example package. [#113]

For changes in previous releases, see the best source available is to compare git tags: https://github.com/sagemath/cysignals/tags

About

cysignals: interrupt and signal handling for Cython

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Cython 50.8%
  • C 26.2%
  • Python 14.5%
  • M4 3.9%
  • Makefile 2.6%
  • C++ 2.0%