changeset 1281:043b71a06568 HEAD

We didn't work at all in non-inetd mode. Also fix crash when quitting.
author Timo Sirainen <tss@iki.fi>
date Thu, 06 Mar 2003 23:44:31 +0200
parents 2ea9661542ee
children e8894f2c776f
files src/imap-login/client.c src/login-common/main.c
diffstat 2 files changed, 5 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap-login/client.c	Thu Mar 06 21:23:44 2003 +0200
+++ b/src/imap-login/client.c	Thu Mar 06 23:44:31 2003 +0200
@@ -385,9 +385,6 @@
 
 	hash_remove(clients, client);
 
-	imap_parser_destroy(client->parser);
-	client->parser = NULL;
-
 	i_stream_close(client->input);
 	o_stream_close(client->output);
 
@@ -414,6 +411,8 @@
 	if (--client->refcount > 0)
 		return TRUE;
 
+	imap_parser_destroy(client->parser);
+
 	i_stream_unref(client->input);
 	o_stream_unref(client->output);
 
--- a/src/login-common/main.c	Thu Mar 06 21:23:44 2003 +0200
+++ b/src/login-common/main.c	Thu Mar 06 23:44:31 2003 +0200
@@ -64,8 +64,7 @@
 	}
 
 	closing_down = TRUE;
-	if (!is_inetd)
-		master_notify_finished();
+	master_notify_finished();
 }
 
 static void sig_quit(int signo __attr_unused__)
@@ -206,9 +205,9 @@
 
 	ssl_proxy_deinit();
 
+	auth_connection_deinit();
 	clients_deinit();
 	master_deinit();
-	auth_connection_deinit();
 
 	closelog();
 }
@@ -270,10 +269,9 @@
 		}
 
 		master_init(master_fd, FALSE);
+		closing_down = TRUE;
 	}
 
-	main_close_listen();
-
 	if (fd != -1)
 		(void)client_create(fd, &ip, TRUE);