A thread-safe version of Tkinter

[src.rpm   ] 25k
Jan 16 13:30:46 CET 2011
python-mtTkinter-0.4-1.src.rpm  - A thread-safe version of Tkinter
Name: python-mtTkinter
Version: 0.4
Release: 1
Group: Development/Languages
Size: 25705
Build on: Sun Jan 16 13:30:46 2011
Vendor: ATrpms.net
Packager: ATrpms
Signature: DSA/SHA1, Sun Jan 16 13:30:46 2011 ( [expires: 2007-12-31])

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.


Thu Jan 13 13:00:00 2011 Paulo Roma 0.4-1
- Updated to 0.4
- Changed license.

Sat Oct 23 14:00:00 2010 Paulo Roma 0.3-2


- Added BR python-devel.

Mon Feb 1 13:00:00 2010 Paulo Roma 0.3-1
- Initial spec file.

Use the mailing lists or the bug tracking system for comments, bugs and requests about the packages.
ATrpms was founded by Axel Thimm