]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Avoid wasting data stack when iterating users.
authorTimo Sirainen <tss@iki.fi>
Thu, 11 Jul 2013 22:57:45 +0000 (01:57 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 11 Jul 2013 22:57:45 +0000 (01:57 +0300)
src/auth/auth-worker-client.c

index 451c7f6c7174098b76b05f8a96a263fd0f670f58..a39d0ac2b713aa59f69074940f3b71161f355efa 100644 (file)
@@ -455,8 +455,10 @@ static void list_iter_callback(const char *user, void *context)
        do {
                ctx->sending = TRUE;
                ctx->sent = FALSE;
-               ctx->auth_request->userdb->userdb->iface->
-                       iterate_next(ctx->iter);
+               T_BEGIN {
+                       ctx->auth_request->userdb->userdb->iface->
+                               iterate_next(ctx->iter);
+               } T_END;
        } while (ctx->sent &&
                 o_stream_get_buffer_used_size(ctx->client->output) == 0);
        ctx->sending = FALSE;
@@ -472,10 +474,10 @@ static int auth_worker_list_output(struct auth_worker_list_context *ctx)
                list_iter_deinit(ctx);
                return 1;
        }
-       if (ret > 0) {
+       if (ret > 0) T_BEGIN {
                ctx->auth_request->userdb->userdb->iface->
                        iterate_next(ctx->iter);
-       }
+       } T_END;
        return 1;
 }