[ 
https://issues.apache.org/jira/browse/MIME4J-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Markus Wiederkehr updated MIME4J-89:
------------------------------------

    Attachment: mime4j-storage-lock.patch

This patch should resolve both problems.

In addition it adds an IllegalStateException to delete in case the 
MultiReferenceStorage has already been deleted. This can only happen if a 
client invokes delete more than once which is prohibited by the contract.

> Improve thread synchronization in MultiReferenceStorage
> -------------------------------------------------------
>
>                 Key: MIME4J-89
>                 URL: https://issues.apache.org/jira/browse/MIME4J-89
>             Project: JAMES Mime4j
>          Issue Type: Improvement
>    Affects Versions: 0.6
>            Reporter: Markus Wiederkehr
>             Fix For: 0.6
>
>         Attachments: mime4j-storage-lock.patch
>
>
> MultiReferenceStorage uses method based synchronization to protect the 
> reference counting variable.
> There are two problems with that:
> 1. storage is an interface and so storage.delete() represents a leak of the 
> thread of execution.
> 2. storage.delete() may be a slow operation.

-- 
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]

Reply via email to