docker-offlineimap/offlineimap/ui
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
..
__init__.py Remove ui.detector class 2011-01-07 19:37:48 +01:00
Blinkenlights.py Remove MultiLock implementation 2011-01-25 19:19:14 +01:00
Curses.py Remove MultiLock implementation 2011-01-25 19:19:14 +01:00
debuglock.py Update FSF address 2006-08-12 05:15:55 +01:00
Machine.py offlineimap.version is no more. 2011-01-25 18:36:18 +01:00
Noninteractive.py Patch for signal handling to start a sync by Jim Pryor 2008-12-01 16:13:16 -06:00
TTY.py Improve TTY ui to not always prepend 'sync account foo' 2010-12-09 19:52:48 +01:00
UIBase.py offlineimap.version is no more. 2011-01-25 18:36:18 +01:00