[jboss-svn-commits] JBL Code SVN: r25817 - labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/synchronization.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 25 09:16:52 EDT 2009
Author: adinn
Date: 2009-03-25 09:16:52 -0400 (Wed, 25 Mar 2009)
New Revision: 25817
Modified:
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/synchronization/Waiter.java
Log:
modified waitFor and sigalWake/Kill so that it is possibel to delay the signaller until there is at least one waiting thread
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/synchronization/Waiter.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/synchronization/Waiter.java 2009-03-25 13:16:31 UTC (rev 25816)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/synchronization/Waiter.java 2009-03-25 13:16:52 UTC (rev 25817)
@@ -32,14 +32,22 @@
{
public Waiter(Object object)
{
+ this(object, false, false);
+ }
+
+ public Waiter(Object object, boolean signalled, boolean killed)
+ {
this.waiterFor = object;
- this.signalled = false;
- this.killed = false;
+ this.signalled = signalled;
+ this.killed = killed;
+ this.waiting = false;
}
public void waitFor(long millisecs)
{
synchronized(this) {
+ waiting = true;
+
if (!signalled) {
try {
this.wait(millisecs);
@@ -87,6 +95,11 @@
return result;
}
+ public boolean waiting()
+ {
+ return waiting;
+ }
+
/**
* the object with which this waiter is associated
*/
@@ -104,4 +117,10 @@
*/
private boolean killed;
+
+ /**
+ * true if waitFor has been called
+ */
+
+ private boolean waiting;
}
More information about the jboss-svn-commits
mailing list