]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: Client connection counting fix.
authorTimo Sirainen <tss@iki.fi>
Wed, 7 Apr 2010 08:58:00 +0000 (11:58 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 7 Apr 2010 08:58:00 +0000 (11:58 +0300)
--HG--
branch : HEAD

src/lib-master/master-login.c

index a37d9ffd1c842fb3574ba22ac3e21a47da823a6f..850bcbc77920b0b46e0cd63485c4da538627b0c4 100644 (file)
@@ -420,9 +420,6 @@ static void master_login_conn_close(struct master_login_connection *conn)
        if (close(conn->fd) < 0)
                i_error("close(master login) failed: %m");
        conn->fd = -1;
-
-       if (!conn->login_success)
-               master_service_client_connection_destroyed(conn->login->service);
 }
 
 static void master_login_conn_unref(struct master_login_connection **_conn)
@@ -437,6 +434,9 @@ static void master_login_conn_unref(struct master_login_connection **_conn)
        *_conn = NULL;
        master_login_conn_close(conn);
        o_stream_unref(&conn->output);
+
+       if (!conn->login_success)
+               master_service_client_connection_destroyed(conn->login->service);
        i_free(conn);
 }