You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2013/06/29 03:53:28 UTC

svn commit: r1497973 - /river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java

Author: peter_firmstone
Date: Sat Jun 29 01:53:28 2013
New Revision: 1497973

URL: http://svn.apache.org/r1497973
Log:
Ensure remaining transitions are processed prior to termination in OperationJournal

Modified:
    river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java

Modified: river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java?rev=1497973&r1=1497972&r2=1497973&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java Sat Jun 29 01:53:28 2013
@@ -402,8 +402,12 @@ class OperationJournal extends Thread {
      * Terminate queue processing.
      */
     void terminate() {
-	dead = true;
+        /* Only set dead to true while synchronized, this means that all
+         * pending transitions will be processed then wait() is called
+         * releasing the lock so queue processing can terminate.
+         */
         synchronized (this){
+            dead = true;
             notifyAll();
         }
     }