[jboss-cvs] JBoss Messaging SVN: r3229 - in trunk/src/main/org/jboss/messaging: util and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Oct 20 13:58:13 EDT 2007
Author: timfox
Date: 2007-10-20 13:58:13 -0400 (Sat, 20 Oct 2007)
New Revision: 3229
Modified:
trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
trunk/src/main/org/jboss/messaging/util/ClearableSemaphore.java
Log:
Semaphore improvements
Modified: trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-10-20 17:37:09 UTC (rev 3228)
+++ trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-10-20 17:58:13 UTC (rev 3229)
@@ -37,7 +37,6 @@
import java.util.Properties;
import java.util.Set;
import java.util.Vector;
-import java.util.concurrent.Semaphore;
import javax.management.ListenerNotFoundException;
import javax.management.MBeanNotificationInfo;
Modified: trunk/src/main/org/jboss/messaging/util/ClearableSemaphore.java
===================================================================
--- trunk/src/main/org/jboss/messaging/util/ClearableSemaphore.java 2007-10-20 17:37:09 UTC (rev 3228)
+++ trunk/src/main/org/jboss/messaging/util/ClearableSemaphore.java 2007-10-20 17:58:13 UTC (rev 3229)
@@ -18,7 +18,7 @@
private Semaphore semaphore;
- private boolean enabled;
+ private volatile boolean enabled;
private int permits;
@@ -36,19 +36,23 @@
createSemaphore();
}
- public synchronized void acquire() throws InterruptedException
+ public void acquire() throws InterruptedException
{
- if (enabled)
+ Semaphore sem = semaphore;
+
+ if (enabled && sem != null)
{
- semaphore.acquire();
+ sem.acquire();
}
}
- public synchronized void release()
+ public void release()
{
- if (enabled)
+ Semaphore sem = semaphore;
+
+ if (enabled && sem != null)
{
- semaphore.release();
+ sem.release();
}
}
@@ -57,6 +61,8 @@
if (!enabled)
{
createSemaphore();
+
+ enabled = true;
}
}
More information about the jboss-cvs-commits
mailing list