9c761cddad
More locking updates. Introduced a new MultiLock to threadutil. This lock will let a single thread acquire the same lock more than once, keeping track of how many times this happens, and will release the actual lock only when the lock's lock count gets back to zero. By using MultiLock, various functions in Curses.py and Blinkenlights.py no longer need to pass around to other functions a parameter indicating whether or not a lock should be obtained. This was a large cause of complexity and errors, which is now eliminated. Everything seems to be working properly wrt locking at this point. The Curses.Blinkenlights interface has achieved basic working functionality. |
||
---|---|---|
offlineimap/head |