[IPython-dev] Ctrl-C regression with current git master and -q4thread

Hans Meine hans_meine at gmx.net
Thu May 20 03:26:59 EDT 2010


Hi Brian!

On Wednesday 19 May 2010 20:19:56 Brian Granger wrote:
> Simple answer:  we have removed this feature

OK, but that's inacceptable if not temporary, isn't it?

> Thus, when you stop typing (right before you type ctrl-C), the event
> loop starts.  When you type ctrl-C then KeyboardInterrupt is raised in
> the middle of the event loop code.  This code has two options:
> 
> 1.  Handle the KeyboardInterrupt by catching and using pass.  This is
> what we do.
> 2.  Let the KeyboardInterrupt propagate.  The problem with this is
> that the code in raw_input that calls the hook that runs the event
> loop doesn't have logic for handling KeyboardInterrupt and things
> crash.

Looks like 2. needs to be fixed then, no?  I just had a look, but it seems 
that the custom inputhook for Qt is buried inside PyQt itself?

> The only reason this sort of worked before in IPython is that we ran
> the event loop in a second thread and attempted to propagate the
> ctrl-C signal across threads (it didn't really work, which is why it
> was unstable).

Let's not talk about the old code; we're all happy that this hack is no longer 
used.. ;-)  (Yes, it was unreliable and yes, people who used it a log - like 
me - did suffer from that every now and then.)

Have a nice day,
  Hans



More information about the IPython-dev mailing list