You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/04/09 18:54:31 UTC
svn commit: r1090627 -
/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
Author: norman
Date: Sat Apr 9 16:54:30 2011
New Revision: 1090627
URL: http://svn.apache.org/viewvc?rev=1090627&view=rev
Log:
EXPUNGE responses are lost if multiple sessions are open and a FETCH/STORE/SEARCH command is triggered. See IMAP-286
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java?rev=1090627&r1=1090626&r2=1090627&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java Sat Apr 9 16:54:30 2011
@@ -126,22 +126,25 @@ abstract public class AbstractMailboxPro
final SelectedMailbox selected, boolean omitExpunged, boolean useUid) {
final boolean sizeChanged = selected.isSizeChanged();
// New message response
- if (sizeChanged) {
- addExistsResponses(session, selected, responder);
- }
- // Expunged messages
- if (!omitExpunged) {
- addExpungedResponses(selected, responder);
- }
- if (sizeChanged || (selected.isRecentUidRemoved() && !omitExpunged)) {
- addRecentResponses(selected, responder);
- selected.resetRecentUidRemoved();
- }
+ if (sizeChanged) {
+ addExistsResponses(session, selected, responder);
+ }
+ // Expunged messages
+ if (!omitExpunged) {
+ addExpungedResponses(selected, responder);
+ }
+ if (sizeChanged || (selected.isRecentUidRemoved() && !omitExpunged)) {
+ addRecentResponses(selected, responder);
+ selected.resetRecentUidRemoved();
+ }
- // Message updates
- addFlagsResponses(session, selected, responder, useUid);
+ // Message updates
+ addFlagsResponses(session, selected, responder, useUid);
+ // Only reset the events if we send the EXPUNGE responses. See IMAP-286
+ if (!omitExpunged) {
selected.resetEvents();
+ }
}
private void addExpungedResponses(final SelectedMailbox selected, final ImapProcessor.Responder responder) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org