dovecot-2.0: doveadm server: Fixed running multiple commands wit...
dovecot at dovecot.org
dovecot at dovecot.org
Fri May 20 14:20:53 EEST 2011
details: http://hg.dovecot.org/dovecot-2.0/rev/c46b1ce45cd1
changeset: 12816:c46b1ce45cd1
user: Timo Sirainen <tss at iki.fi>
date: Fri May 20 14:20:46 2011 +0300
description:
doveadm server: Fixed running multiple commands without crashing.
diffstat:
src/doveadm/client-connection.c | 9 +++++++--
src/doveadm/doveadm-mail-server.c | 4 +++-
2 files changed, 10 insertions(+), 3 deletions(-)
diffs (43 lines):
diff -r b6568a36ecf9 -r c46b1ce45cd1 src/doveadm/client-connection.c
--- a/src/doveadm/client-connection.c Fri May 20 14:08:43 2011 +0300
+++ b/src/doveadm/client-connection.c Fri May 20 14:20:46 2011 +0300
@@ -47,7 +47,7 @@
struct doveadm_mail_cmd_context *ctx;
const struct doveadm_mail_cmd *cmd;
const char *getopt_args;
- bool add_username_header = FALSE;
+ bool ret, add_username_header = FALSE;
int c;
cmd = doveadm_mail_cmd_find(cmd_name);
@@ -101,9 +101,14 @@
}
doveadm_mail_single_user(ctx, argv, input, service_flags);
+ doveadm_mail_server_flush();
ctx->v.deinit(ctx);
doveadm_print_flush();
- return !ctx->failed;
+ mail_storage_service_deinit(&ctx->storage_service);
+ ret = !ctx->failed;
+ pool_unref(&ctx->pool);
+
+ return ret;
}
static bool client_handle_command(struct client_connection *conn, char **args)
diff -r b6568a36ecf9 -r c46b1ce45cd1 src/doveadm/doveadm-mail-server.c
--- a/src/doveadm/doveadm-mail-server.c Fri May 20 14:08:43 2011 +0300
+++ b/src/doveadm/doveadm-mail-server.c Fri May 20 14:20:46 2011 +0300
@@ -289,8 +289,10 @@
{
struct doveadm_server *server;
- if (servers == NULL)
+ if (servers == NULL) {
+ cmd_ctx = NULL;
return;
+ }
while ((server = doveadm_server_find_used()) != NULL &&
!DOVEADM_MAIL_SERVER_FAILED())
More information about the dovecot-cvs
mailing list