[ 
https://issues.apache.org/jira/browse/IMAP-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912653#action_12912653
 ] 

François-Denis Gonthier commented on IMAP-216:
----------------------------------------------

I think this is safe from what I mention above.

    public void event(Event event) {
        List<MailboxListener> mListeners = 
listeners.get(event.getMailboxPath());
        if (mListeners != null && mListeners.isEmpty() == false) {
                MailboxListener[] tmpListeners = mListeners.toArray(new 
MailboxListener[0]);
            for (int i = 0; i < tmpListeners.length; i++) {
                MailboxListener l = tmpListeners[i];
                if (l.isClosed()) {
                    mListeners.remove(l);
                } else {
                    l.event(event);
                }
            }
        }
    }

> DelegatingMailboxListener might skip some events
> ------------------------------------------------
>
>                 Key: IMAP-216
>                 URL: https://issues.apache.org/jira/browse/IMAP-216
>             Project: JAMES Imap
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 0.1
>            Reporter: François-Denis Gonthier
>            Assignee: Norman Maurer
>             Fix For: 0.2
>
>
> In the following code from DelegatingMailboxListener, events might be skipped 
> if the a closed listener is found and removed in the listener list.
>     public void event(Event event) {
>         List<MailboxListener> mListeners = 
> listeners.get(event.getMailboxPath());
>         if (mListeners != null && mListeners.isEmpty() == false) {
>               int sz = mListeners.size();
>             for (int i = 0; i < sz; i++) {
>                 MailboxListener l = mListeners.get(i);
>                 if (l.isClosed()) {
>                     mListeners.remove(l);
>                 } else {
>                     l.event(event);
>                 }
>             }
>         }
>  }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to