Mercurial > dovecot > original-hg > dovecot-1.1
changeset 8359:427994458587 HEAD
login proxy: Don't give "tried to change state 2 -> 2" errors with login_process_per_connection=yes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 12 Oct 2009 14:05:02 -0400 |
parents | 7c19e829c414 |
children | b521d13ea89e |
files | src/login-common/login-proxy.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/login-common/login-proxy.c Mon Oct 12 12:36:38 2009 -0400 +++ b/src/login-common/login-proxy.c Mon Oct 12 14:05:02 2009 -0400 @@ -181,12 +181,14 @@ void login_proxy_free(struct login_proxy *proxy) { const char *ipstr; + bool detached; if (proxy->destroying) return; proxy->destroying = TRUE; - if (proxy->client_fd != -1) { + detached = proxy->client_fd != -1; + if (detached) { /* detached proxy */ main_unref(); DLLIST_REMOVE(&login_proxies, proxy); @@ -221,7 +223,8 @@ i_free(proxy->user); i_free(proxy); - main_listen_start(); + if (detached) + main_listen_start(); } bool login_proxy_is_ourself(struct client *client, const char *host,