Mercurial > dovecot > core-2.2
changeset 15143:f9424b066dcb
director: Fixed weak-user handling when there is only one director.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 18 Sep 2012 20:48:25 +0300 |
parents | a200fdbc1fa0 |
children | a9a49a30344b |
files | src/director/director-request.c |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-request.c Tue Sep 18 20:09:03 2012 +0300 +++ b/src/director/director-request.c Tue Sep 18 20:48:25 2012 +0300 @@ -136,6 +136,15 @@ its existing connections have been killed */ return FALSE; } + if (dir->right == NULL && dir->ring_synced) { + /* looks like all the other directors have died. we can do + whatever we want without breaking anything. remove the + user's weakness just in case it was set to TRUE when we + had more directors. */ + user->weak = FALSE; + return TRUE; + } + if (user->weak) { /* wait for user to become non-weak */ return FALSE;