================================================================================ PACKAGE: extended_threading LICENSE: Public Domain AUTHOR: S James S Stapleton CONTACT: sjss/var-dev/net|org|com VERSON: 0.2 ================================================================================ 1. Quick Overview This package is designed to add some features to python's threading environment. Specifically - inheritance where it once was not allowed, debugging utility, timeouts with locks, and locks with both exclusive and non-exclusive characteristics. 2. Install To install, run install.py. This varies between operating systems, but will involve the following: Windows: double click on install.py *nix: $ /usr/bin/env python install.py or $ python install.py You will get promts on where to install to if there are multiple apparant paths, or a confirmation request if ther eis only one. If youc run the installer with a -v flag, it will output a little bit more information while installing. 3. Use Use documentation can be found in the docstrings for the various classes provided by this module. To get a full listing, after install run the following in python: import extended_threading et_list = extended_threading.__dict__.keys() et_list.sort() for t in et_list: print t This will give an alphabetical list of what is part of the class. Now you can call help() on any member listed to get more information about it. The classes of interest for most users will be: Ilock Irlock Icondition Ievent SlockG SlockE RWlock RWrlock Slock Srlock 4. Changes in 0.2 RWlock: * Prevented a lock from grabbing local resources if it was non blocking, and not releasing them * RWlock didn't completely release write locks * _status() function to see the state of the lock, useful for debugging * fixed READ overagressive/underagressive bugs RWrlock: * Added to allow for RW locks that act more like rlocks in terms of access. Interface is identical to RWlock in 0.1 Ilock Irlock Icondition Ievent SlockG SlockE RWlock Slock Srlock Initial library contents