Fedora 15 Update: python-mtTkinter-0.4-3.fc15

updates at fedoraproject.org updates at fedoraproject.org
Sat Sep 10 23:58:31 UTC 2011


--------------------------------------------------------------------------------
Fedora Update Notification
FEDORA-2011-11975
2011-09-02 04:45:51
--------------------------------------------------------------------------------

Name        : python-mtTkinter
Product     : Fedora 15
Version     : 0.4
Release     : 3.fc15
URL         : http://tkinter.unpythonic.net/wiki/mtTkinter
Summary     : A thread-safe version of Tkinter
Description :
Although Tkinter is technically thread-safe
(assuming Tk is built with --enable-threads),
practically speaking there are still problems when used in multithreaded
Python applications.  The problems stem from the fact that the _tkinter
module attempts to gain control of the main thread via a polling technique
when processing calls from other threads.  If it succeeds, all is well.
If it fails (i.e., after a timeout), the application receives an exception
with the message: "RuntimeError: main thread is not in main loop".
There is no way to tell when this might happen, so calling Tk routines
from multiple threads seems to be problematic at best.

The mtTkinter module solves this problem by modifying some Tkinter
module definitions (in memory). The modified code intercepts
out-of-thread Tkinter calls and marshals them through a queue which
is read by an 'after' event running periodically in the main loop.
This is similar to the technique used in many other platforms
(e.g., .NET's InvokeRequired/Invoke mechanism).
The technique used in mtTkinter is exception-safe as well,
marshaling exceptions through a response queue back to the caller's thread.

--------------------------------------------------------------------------------
Update Information:

Initial release.
--------------------------------------------------------------------------------
ChangeLog:

--------------------------------------------------------------------------------

This update can be installed with the "yum" update program.  Use 
su -c 'yum update python-mtTkinter' at the command line.
For more information, refer to "Managing Software with yum",
available at http://docs.fedoraproject.org/yum/.

All packages are signed with the Fedora Project GPG key.  More details on the
GPG keys used by the Fedora Project can be found at
https://fedoraproject.org/keys
--------------------------------------------------------------------------------


More information about the package-announce mailing list