diff src/lib-index/mail-cache.c @ 2929:ba9062032877 HEAD

Locking fixes and cleanups
author Timo Sirainen <tss@iki.fi>
date Sat, 04 Dec 2004 23:55:41 +0200
parents 9b772db4503d
children c3ae75597952
line wrap: on
line diff
--- a/src/lib-index/mail-cache.c	Sat Dec 04 21:46:59 2004 +0200
+++ b/src/lib-index/mail-cache.c	Sat Dec 04 23:55:41 2004 +0200
@@ -352,12 +352,15 @@
 			file_cache_invalidate(cache->file_cache, 0,
 					      sizeof(struct mail_cache_header));
 		}
-		if (mail_cache_map(cache, 0, 0) < 0)
+		if (mail_cache_map(cache, 0, 0) < 0) {
+			mail_cache_unlock(cache);
 			ret = -1;
+		}
 		cache->hdr_copy = *cache->hdr;
 	}
 
 	mail_index_view_close(view);
+	i_assert((ret <= 0 && !cache->locked) || (ret > 0 && cache->locked));
 	return ret;
 }