.. image:: https://travis-ci.org/sagemath/cysignals.svg?branch=master :target: https://travis-ci.org/sagemath/cysignals
.. image:: https://ci.appveyor.com/api/projects/status/vagqk56cj3ndycp4?svg=true :target: https://ci.appveyor.com/project/sagemath/cysignals
.. image:: https://readthedocs.org/projects/cysignals/badge/?version=latest :target: http://cysignals.readthedocs.org
When writing Cython <http://cython.org/>
_ 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.
1.12.0 (release candidate) ^^^^^^^^^^^^^^^^^^^^^^^^^^
1.11.4 (2023-10-07) ^^^^^^^^^^^^^^^^^^^
configure
script in the sdist again.1.11.3 (2023-10-04) ^^^^^^^^^^^^^^^^^^^
fprintf
by calls to write
, which is async-signal-safe according to POSIX. [#162]1.11.2 (2021-12-15) ^^^^^^^^^^^^^^^^^^^
1.11.0 (2021-11-26) ^^^^^^^^^^^^^^^^^^^
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