Subject: Re: [sup-devel] [PATCH] fix crash during poll if Maildir has been emptied

From: Rich Lane <[email-masked]>
Date: Mon, 12 Jul 2010 22:19:28 -0400

I'm going to be merging the source rewrite into master soon, so 
this patch won't apply. I'll make sure empty maildirs work.
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: Sascha Silbe <[email-masked]>
Date: Thu, 8 Jul 2010 15:26:37 +0000

We need to do the rescan in start_offset instead of end_offset so that
end_offset won't be called if the Maildir is empty after the rescan.

Fixes this crash:

NoMethodError from thread: user-invoked poll
undefined method `+' for nil:NilClass
/home/sascha.silbe/src/sup/lib/sup/maildir.rb:171:in `end_offset'
/home/sascha.silbe/src/sup/lib/sup/source.rb:90:in `done?'
[...]

Signed-off-by: Sascha Silbe <[email-masked]>
---
 lib/sup/maildir.rb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/sup/maildir.rb b/lib/sup/maildir.rb
index ef3b318..0b2fd5e 100644
--- a/lib/sup/maildir.rb
+++ b/lib/sup/maildir.rb
@@ -162,12 +162,12 @@ class Maildir < Source
   end
 
   def start_offset
-    scan_mailbox
+    scan_mailbox :rescan => true
     @ids.first
   end
 
   def end_offset
-    scan_mailbox :rescan => true
+    scan_mailbox
     @ids.last + 1
   end
 
-- 
1.7.1