- Notifications
You must be signed in to change notification settings - Fork750
Closed
Description
Environment
- Pythonnet version:
2.3.0 - Python version:
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32 - Operating System:
Win 7, 64 bit
Details
- What I'm trying to do:
Console application with CTRL+C handling.
According tohttps://docs.python.org/2/c-api/init.html, Py_Initialize() changes the current signal configuration. In practice, signals like interrupt from CTRL+C in a console application seems to be ignored, which is not the desired behavior. This means that the event handler configured as thisConsole.CancelKeyPress += Console_CancelKeyPress;
does nothing.
It seems Py_InitializeEx(0) should be used for general applications that does not include a python terminal. Alternatively, whether to use the Py_InitalizeEx(0) could be a argument to Python.Initialize()
To reproduce try running this:
classProgram{staticvoidMain(string[]args){PythonEngine.Initialize();// Comment this out to support CTRL+C again.Console.WriteLine("Waiting 5s.. Try CTRL+C.");System.Threading.Thread.Sleep(5000);Console.WriteLine("Done");}}
Metadata
Metadata
Assignees
Labels
No labels