On Sun, Oct 31, 2010 at 01:02:19PM +0000, Andy Fiddaman wrote:
> 
> On Sun, 31 Oct 2010, Bron Gondwana wrote:
> 
> ; On Sat, Oct 30, 2010 at 11:19:14PM +0000, Andy Fiddaman wrote:
> ; > On Sun, 31 Oct 2010, Bron Gondwana wrote:
> ; > ;
> ; > ; I don't suppose the stacktrace went any further up than that?  I'm
> ; > ; more interested in the call-site of mailbox_close, because that's
> ; > ; where a dirty mailbox will be being closed.
> ; >
> ; > Here are a couple:
> ;
> ; Ok - that's all I needed.  This is a bug.  I'll push a fix
> ; to master straight away, and it will be in 2.4.3.
> 
> Thanks, superb support as always. I'll apply the patch and look at rolling
> out 2.4.2 to production this week then go to 2.4.3 when it's out.

Sorry - it's stuck in a queue behind some other stuff I don't want to push
just yet.  Here's the patch attached.

The other stuff is pretty shiny - XFER support back to older versions of
Cyrus :)  Unfortunately there's an issue with .seen support in Cyrus 2.2
that's going to screw me up I think - I'm going to have to create a .seen
file as well - with backported entries for each folder!  Don't know how
that's going to all come together... tricky.  Anyway...

Here's your patch :)

Bron.
>From 32a713e74a8547b9023e4df5ba4e00530e506d1a Mon Sep 17 00:00:00 2001
From: Bron Gondwana <br...@opera.com>
Date: Sun, 31 Oct 2010 11:22:37 +1100
Subject: [PATCH 1/3] Commit mailbox after annotation based expiry

Fixes a bug reported by Andy Fiddaman <cy...@fiddaman.net> on the
mailing list.
---
 imap/cyr_expire.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/imap/cyr_expire.c b/imap/cyr_expire.c
index a23b1d2..ae9c8a4 100644
--- a/imap/cyr_expire.c
+++ b/imap/cyr_expire.c
@@ -228,6 +228,7 @@ int expire(char *name, int matchlen, int maycreate __attribute__((unused)),
 	}
 
 	r = mailbox_expunge(mailbox, expire_cb, erock, NULL);
+	if (!r) r = mailbox_commit(mailbox);
 	if (r) {
 	    syslog(LOG_ERR, "failed to expire old messages: %s", mailbox->name);
 	    mailbox_close(&mailbox);
-- 
1.7.1

----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/

Reply via email to