[
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: [email protected]
For additional commands, e-mail: [email protected]