[Twisted-Python] Sending large files over network with perspective broker

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Mon May 24 16:06:59 EDT 2010


On 08:39 am, gabriele.lanaro at gmail.com wrote:
>Thank you very much for your explanation! Now I've understood what's 
>the
>problem in iterate().
>
>On these lines I've prepared a this little test case (in attach):
>
>Test 1
>
>$ python runner.py
>click on the button
>minimize/unminimize window to force a widget redraw, the window should 
>be
>blank.
>you can click another time on the button, the event is catched but no
>"button animation" is performed
>
>Test2
>
>$ python runner.py
>open another console
>$ python runner_other_process.py
>click on the button of runner_other_process, this connects itself to 
>the
>server in the first process
>each window should redraw correctly

This may demonstrate a bug in gtk2reactor.  It seems to be servicing 
network events to the exclusion of GUI events, which it isn't supposed 
to do.

I don't see any obvious reason for this.  Unfortunately glib2 (or 
pygtk2, perhaps) is ultimately in charge of the ordering/priority of 
these event handlers.  gtk2reactor is just a thin layer on top of the 
glib2-supplied I/O notification APIs.  But perhaps there's a way we 
could be invoking these APIs differently so that the GUI gets more of a 
chance to run.

Jean-Paul



More information about the Twisted-Python mailing list