You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/07/30 12:42:20 UTC
svn commit: r980726 -
/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java
Author: norman
Date: Fri Jul 30 10:42:20 2010
New Revision: 980726
URL: http://svn.apache.org/viewvc?rev=980726&view=rev
Log:
Just improve javadocs and synchronize as short as possible
Modified:
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java?rev=980726&r1=980725&r2=980726&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxPathLock.java Fri Jul 30 10:42:20 2010
@@ -41,7 +41,8 @@ public final class MailboxPathLock {
private final Map<MailboxPath, ReentrantLock> paths = new HashMap<MailboxPath, ReentrantLock>();
/**
- * Obtain a {@link Lock} for the given path
+ * Obtain a {@link Lock} for the given path. It will block if the lock for the {@link MailboxPath} is
+ * already held by some other thread
*
* @param path
*/
@@ -64,11 +65,12 @@ public final class MailboxPathLock {
* @param path
*/
public void unlock(MailboxPath path) {
+ ReentrantLock lock;
synchronized (paths) {
- ReentrantLock lock = paths.remove(path);
- if (lock != null) {
- lock.unlock();
- }
+ lock = paths.remove(path);
+ }
+ if (lock != null) {
+ lock.unlock();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org