[IPython-dev] Ctrl-C quitting ipython

Robert Kern robert.kern at gmail.com
Wed Nov 3 15:01:21 EDT 2010


On 11/3/10 11:08 AM, Hans Meine wrote:
> Op den Middeweken 03 November 2010 Klock 16:51:04 hett Gael Varoquaux
> schreven:
>> On Wed, Nov 03, 2010 at 04:49:45PM +0100, Hans Meine wrote:
>>> Op den Middeweken 03 November 2010 Klock 15:09:50 hett Hans Meine
>>> schreven:
>>>> The result: "Program exited with code 01." - looks like sys.exit(1) (or
>>>> the equivalent in C in some library) being called.  Probably some
>>>> extension installed a signal handler (we suspect openmesh).
>>>
>>> Problem solved, it was "from enthought.tvtk.api import tvtk" which
>>> installed a SIGINT handler, and updating the ETS helped.
>>
>> Ugly! How did updating ETS help? Is the SIGINT handler removed in the new
>> ETS?
>
> I don't know the details, but that's my impression, yes.  Such are the risks
> of running software from development repositories, I guess... ;-)
>
> Unfortunately, it's probably not possible to detect this within ipython,
> right?  After all, the SIGINT handler might also have played nice.  It would
> be interesting to know

> - whether we can detect and report signal handlers being installed

You can get any Python-installed handler using signal.getsignal(signal.SIGINT). 
I don't know if you can determine C-installed handlers. Would you mind reverting 
to your previous version of ETS to see if getsignal() returns you anything? I 
don't think we ever installed a handler directly in ETS, but VTK or your GUI 
toolkit might have. Did you update either of those along with ETS?

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the IPython-dev mailing list