[IPython-dev] Testers requested - 0.7.4.rc1, with async cross-thread exceptions

Fernando Perez fperez.net at gmail.com
Thu Apr 5 02:13:05 EDT 2007

Hi all,

one glaring limitation of our multithreaded shells is the unfortunate
lack of support for Ctrl-C, so you can't interrupt a long computation
with any of the multithreaded shells.

Well, it seems I may have actually got it:


The changelog has more info.

This would be a really major improvement to IPython, but I am only
cautiously optimistic.  It requires ctypes to work.

I would *greatly* appreciate if others could test current SVN with
this.  Try hitting Ctrl-C in all kinds of situations, with long
running code, with matplotlib, etc.

In order to get the widest possible testing, I just made and uploaded
RC1 for 0.7.4 to:


If the multithreaded async exception support turns out not to work,
it's (deliberately) a single, self-contained patch that I can easily
revert and we're otherwise good to go on all pending tickets and items
in my todo list for 0.7.4.

So, those of you on *nix/Python2.4 who want to help, please remember
to install ctypes first.  Win32 users already had it (it's needed for
pyreadline), and Python2.5 ships with it.

Thanks to all for any testing help you can provide!



ps - If this really works, we owe a big thanks to Tomer Filiba
(http://sebulba.wikispaces.com/recipe+thread2) for the basic
underlying trick that makes this possible at all.  I'd heard about the
mythical PyThreadState_SetAsyncExc undocumented call in the Python C
API, but if it weren't for his recipe, I probably would never had
gotten this.

More information about the IPython-dev mailing list