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