Replay queue not closing on connection hang or drop: Closes #5321

All IMAP commands now have a timeout which, if triggered, causes
the connection to be forcibly closed.  ConversationMonitor will
reestablish connection and start a re-sychronization.
This commit is contained in:
Jim Nelson 2012-06-06 16:36:52 -07:00
parent d527998d1b
commit 10599a5a42
8 changed files with 386 additions and 42 deletions

View file

@ -88,6 +88,17 @@ public abstract class Geary.NonblockingAbstractSemaphore {
reset();
}
/**
* Calls notify() without throwing an Exception, which is merely logged if encountered.
*/
public void blind_notify() {
try {
notify();
} catch (Error err) {
message("Error notifying semaphore: %s", err.message);
}
}
public async void wait_async(Cancellable? cancellable = null) throws Error {
for (;;) {
check_user_cancelled(cancellable);