docker-offlineimap/offlineimap
Sebastian Spaeth 83a85bb3fb Remove MultiLock implementation
Currently the Curses code is broken. Importing offlineimap.ui.Curses
will not succeed due to cyclic imports (threadutils imports ui, but ui
wants threadutils.MultiLock). So Curses cannot be chosen.

Incidentally, the only part in the code that uses "MultiLock" is the
Curses UI, to prevent concurrent access from several threads to the
ui-internal thread list and to IO resources such as the
screen. Fortunately for these purposes we don't need a MultiLock, so we
can do away with that implementation completely. A simple RLock that
allows us to have a thread "own" a lock and makes other threads wanting
access to the resource wait until the owning thread is finished.

The MultiLock implementation looked a bit weird, so simplifying code
here is a good thing, it might well be that we fix some "hangs" that
have been reported (and that would only ever occur with the Curses UI).

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2011-01-25 19:19:14 +01:00
..
folder import getglobalui as we use it 2011-01-21 20:10:18 +01:00
repository Catch KeyboardInterrupt exceptions explicitely 2011-01-14 19:25:11 +01:00
ui Remove MultiLock implementation 2011-01-25 19:19:14 +01:00
__init__.py Define version constants etc in __init__.py 2010-12-22 19:45:01 +01:00
accounts.py Catch SystemExit and KeyboardInterrupt exceptions 2011-01-14 19:25:11 +01:00
CustomConfig.py Improve CustomConfig documentation 2011-01-20 19:46:01 +01:00
imaplibutil.py Merge branch 'master' into next 2011-01-18 18:40:29 +01:00
imapserver.py Replace UIBase.getglobalui() with getglobalui() 2011-01-05 19:24:00 +01:00
imaputil.py Replace UIBase.getglobalui() with getglobalui() 2011-01-05 19:24:00 +01:00
init.py Imply single-threaded mode with -d(ebug) command line option 2011-01-14 19:25:29 +01:00
localeval.py Update FSF address 2006-08-12 05:15:55 +01:00
mbnames.py Update FSF address 2006-08-12 05:15:55 +01:00
syncmaster.py Implement true single-threading 2011-01-14 19:25:11 +01:00
threadutil.py Remove MultiLock implementation 2011-01-25 19:19:14 +01:00