[jboss-svn-commits] JBL Code SVN: r26494 - labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 13 05:34:51 EDT 2009


Author: adinn
Date: 2009-05-13 05:34:51 -0400 (Wed, 13 May 2009)
New Revision: 26494

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java
Log:
corrected condition test in main loop so it is done while synchronized and at each point where it may have changed - should fix JBTM-551

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java	2009-05-13 08:11:46 UTC (rev 26493)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java	2009-05-13 09:34:51 UTC (rev 26494)
@@ -80,6 +80,12 @@
     
             synchronized(reaperObject)
             {
+                // test our condition -- things may have changed while we were checking
+
+                if (_shutdown) {
+                    return;
+                }
+
 		sleepPeriod = reaperObject.checkingPeriod();
         
                 if (sleepPeriod > 0)
@@ -98,6 +104,12 @@
                           reaperObject.wait(sleepPeriod);
                      }
                      catch (InterruptedException e1) {}
+
+                    // test our condition -- things may have changed while we were waiting
+
+                    if (_shutdown) {
+                        return;
+                    }
                 }
             }
     
@@ -107,9 +119,6 @@
                                           FacilityCode.FAC_ATOMIC_ACTION, "ReaperThread.run ()");
             }
 
-    	    if (_shutdown)
-    	        return;
-    
     	    reaperObject.check();
     	}
     }




More information about the jboss-svn-commits mailing list