From 715e7cc240a8519a3aaa27d074bd48e886ab10d9 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Mon, 20 Aug 2007 08:43:33 +0000
Subject: [PATCH] - fix IllegalMonitorStateException/UnlockWhenNotOwner bug found by the unit tests.

---
 opendj-sdk/opends/src/server/org/opends/server/extensions/FileSystemEntryCache.java |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/FileSystemEntryCache.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/FileSystemEntryCache.java
index 816a658..310f277 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/FileSystemEntryCache.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/FileSystemEntryCache.java
@@ -733,7 +733,9 @@
       }
       return;
     } finally {
-      cacheWriteLock.unlock();
+      if (cacheLock.isWriteLockedByCurrentThread()) {
+        cacheWriteLock.unlock();
+      }
     }
   }
 
@@ -766,7 +768,9 @@
       // We can't rule out the possibility of a conflict, so return false.
       return false;
     } finally {
-      cacheWriteLock.unlock();
+      if (cacheLock.isWriteLockedByCurrentThread()) {
+        cacheWriteLock.unlock();
+      }
     }
   }
 

--
Gitblit v1.10.0