It appears that cache locks are intended to support re-entrancy. The debugger 
shows a count variable and the lock can be taken several times by the same node 
and then unlocked an equal number of times.

If a node has taken a lock several times a second node attempts to take the 
same lock then, as expected, it blocks. However if the first node frees the 
lock once the second node unlocks and both nodes end up holding the lock.

Hopefully demonstrated by the attached test code.

The information in this e-mail and any attachments is confidential and may be 
legally privileged. It is intended solely for the addressee or addressees. Any 
use or disclosure of the contents of this e-mail/attachments by a not intended 
recipient is unauthorized and may be unlawful. If you have received this e-mail 
in error please notify the sender. Please note that any views or opinions 
presented in this e-mail are solely those of the author and do not necessarily 
represent those of TEMENOS. We recommend that you check this e-mail and any 
attachments against viruses. TEMENOS accepts no liability for any damage caused 
by any malicious code or virus transmitted by this e-mail.

Attachment: CacheMultiLockTest.java
Description: CacheMultiLockTest.java

Reply via email to