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,