You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/04/02 03:06:49 UTC

cvs commit: avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl CommissionRequest.java

mcconnell    2004/04/01 17:06:49

  Modified:    merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl
                        CommissionRequest.java
  Log:
  Fix the 0 deployment timeout bug.
  
  Revision  Changes    Path
  1.3       +18 -3     avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/CommissionRequest.java
  
  Index: CommissionRequest.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/CommissionRequest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CommissionRequest.java	17 Mar 2004 10:39:10 -0000	1.2
  +++ CommissionRequest.java	2 Apr 2004 01:06:49 -0000	1.3
  @@ -85,7 +85,7 @@
           synchronized( this )
           {
               long timeout = getDeploymentModel().getDeploymentTimeout();
  -            wait( timeout ); // wait for commission/decommission
  +            waitForCompletion( timeout );
               processException();
               if( m_completed )
               {
  @@ -93,7 +93,7 @@
                   return t2-t1;
               }
               m_thread.interrupt();
  -            wait( timeout ); // wait for shutdown
  +            waitForCompletion( timeout ); // wait for shutdown
               processException();
               if( m_interrupted || m_completed )
               {
  @@ -114,6 +114,21 @@
                     + timeout
                     + "] and failed to respond to an interrupt.";
                   throw new FatalCommissioningException( error );
  +            }
  +        }
  +    }
  +
  +    private void waitForCompletion( long timeout ) throws InterruptedException
  +    {
  +        if( timeout > 0 )
  +        {
  +            wait( timeout );
  +        }
  +        else
  +        {
  +            while( !m_completed )
  +            {
  +                wait( 1000 );
               }
           }
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org