Handle SIGINT in C and Python
Victor Porton
porton at narod.ru
Wed Jan 31 03:53:36 EST 2018
Victor Porton wrote:
> I need to assign a real C signal handler to SIGINT.
>
> This handler may be called during poll() waiting for data. For this reason
> I cannot use Python signals because "A Python signal handler does not get
> executed inside the low-level (C) signal handler. Instead, the low-level
> signal handler sets a flag which tells the virtual machine to execute the
> corresponding Python signal handler at a later point(for example at the
> next bytecode instruction)."
>
> I want after my signal handler for SIGINT executed to raise
> KeyboardInterrupt (as if I didn't installed my own signal handler).
>
> Is this possible? How?
I've found a solution: I can use PyOS_setsig() from Python implementation to
get the old (Python default) OS-level signal handler, while I assign the new
one.
--
Victor Porton - http://portonvictor.org
More information about the Python-list
mailing list