Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5347:c9e8eaacef6d HEAD
If net_connect_unix() fails, assume also that ECONNREFUSED may be a
temporary failure. It can happen if we exceeded the listener's backlog.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 16 Mar 2007 17:23:53 +0200 |
parents | e39ce58a463b |
children | 7ca3a28d3191 |
files | src/auth/auth-worker-server.c src/lib-auth/auth-server-connection.c |
diffstat | 2 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-worker-server.c Fri Mar 16 17:11:42 2007 +0200 +++ b/src/auth/auth-worker-server.c Fri Mar 16 17:23:53 2007 +0200 @@ -58,8 +58,8 @@ if (fd >= 0) break; - if (errno == EAGAIN) { - /* we're busy */ + if (errno == EAGAIN || errno == ECONNREFUSED) { + /* we're busy. */ } else if (errno == ENOENT) { /* master didn't yet create it? */ } else {
--- a/src/lib-auth/auth-server-connection.c Fri Mar 16 17:11:42 2007 +0200 +++ b/src/lib-auth/auth-server-connection.c Fri Mar 16 17:23:53 2007 +0200 @@ -203,7 +203,7 @@ /* max. 1 second wait here. */ for (try = 0; try < 10; try++) { fd = net_connect_unix(path); - if (fd != -1 || errno != EAGAIN) + if (fd != -1 || (errno != EAGAIN && errno != ECONNREFUSED)) break; /* busy. wait for a while. */