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:
parent
d527998d1b
commit
10599a5a42
8 changed files with 386 additions and 42 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue