changeset 7208:eec99cefd3bd HEAD

If fts_backend.build_init() fails, don't mark backend as being built.
author Timo Sirainen <tss@iki.fi>
date Sun, 03 Feb 2008 22:41:51 +0200
parents 2dffefc14e25
children d7d885b6dd46
files src/plugins/fts/fts-api.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts/fts-api.c	Sun Feb 03 22:41:29 2008 +0200
+++ b/src/plugins/fts/fts-api.c	Sun Feb 03 22:41:51 2008 +0200
@@ -81,11 +81,14 @@
 int fts_backend_build_init(struct fts_backend *backend, uint32_t *last_uid_r,
 			   struct fts_backend_build_context **ctx_r)
 {
+	int ret;
+
 	i_assert(!backend->building);
 
-	backend->building = TRUE;
-
-	return backend->v.build_init(backend, last_uid_r, ctx_r);
+	ret = backend->v.build_init(backend, last_uid_r, ctx_r);
+	if (ret == 0)
+		backend->building = TRUE;
+	return ret;
 }
 
 int fts_backend_build_more(struct fts_backend_build_context *ctx, uint32_t uid,