[IPython-user] Multithreading shell simplified, testing needed

Fernando Perez fperez.net@gmail....
Wed Mar 12 14:01:20 CDT 2008


On Wed, Mar 12, 2008 at 11:14 AM, Ville M. Vainio <vivainio@gmail.com> wrote:
> On Wed, Mar 12, 2008 at 7:17 PM, Ville M. Vainio <vivainio@gmail.com> wrote:
>
>  >  Here's an idea on how to fix this: we add another event that tells
>  >  that the message was "received" (popped from queue), and wait for THAT
>  >  with a timeout. If the message is not received within, say, 5 seconds,
>  >  we declare the mainloop dead and switch to direct execution code with
>  >  a warning to the user.
>
>  The idea is now implemented in mtexp branch. Please do bzr pull and try stuff.
>
>  Even when the UI toolkit mainloop gives up (as it does with gtk), we
>  won't just hang now - the user can continue normally, but everything
>  will be as if he was in a single-threaded shell (so the work can go
>  on).

A question: will this fallback mechanism activate if a GUI operation
takes longer than the timeout (say 5 secs)?  With something like a
complex matplotlib plot that uses a lot of LaTeX on an NFS filesystem,
long plot times are not unheard of.  In such cases, I wonder if we
could just ask the user something like 'GUI seems non-responsive,
disconnect from it?'.  Thoughts?

f


More information about the IPython-user mailing list