]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
We didn't work at all in non-inetd mode. Also fix crash when quitting.
authorTimo Sirainen <tss@iki.fi>
Thu, 6 Mar 2003 21:44:31 +0000 (23:44 +0200)
committerTimo Sirainen <tss@iki.fi>
Thu, 6 Mar 2003 21:44:31 +0000 (23:44 +0200)
--HG--
branch : HEAD

src/imap-login/client.c
src/login-common/main.c

index 254ec881fa773708a12ec2e2060894ef0b2d0d44..02fa27c0385b95de7191ccfb45d8dacad16452bb 100644 (file)
@@ -385,9 +385,6 @@ void client_destroy(struct imap_client *client, const char *reason)
 
        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 @@ int client_unref(struct imap_client *client)
        if (--client->refcount > 0)
                return TRUE;
 
+       imap_parser_destroy(client->parser);
+
        i_stream_unref(client->input);
        o_stream_unref(client->output);
 
index 7d324a1d01f1ef850bc5537d97b993411cb843e0..fffdc2c96f99c60780722dea87db0d224189a844 100644 (file)
@@ -64,8 +64,7 @@ void main_close_listen(void)
        }
 
        closing_down = TRUE;
-       if (!is_inetd)
-               master_notify_finished();
+       master_notify_finished();
 }
 
 static void sig_quit(int signo __attr_unused__)
@@ -206,9 +205,9 @@ static void main_deinit(void)
 
        ssl_proxy_deinit();
 
+       auth_connection_deinit();
        clients_deinit();
        master_deinit();
-       auth_connection_deinit();
 
        closelog();
 }
@@ -270,10 +269,9 @@ int main(int argc __attr_unused__, char *argv[], char *envp[])
                }
 
                master_init(master_fd, FALSE);
+               closing_down = TRUE;
        }
 
-       main_close_listen();
-
        if (fd != -1)
                (void)client_create(fd, &ip, TRUE);