avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Kohlhaas <kohlh...@informatik.uni-bonn.de>
Subject Re: Problem with asynchronous disposing in fortress
Date Tue, 06 Aug 2002 13:06:13 GMT
Berin Loritsch [bloritsch@apache.org] wrote:
> > From: Leo Sutic [mailto:leo.sutic@inspireinfrastructure.com] 
> > 
> > I'd say bug... when dispose() returns you should be able to 
> > expect that it has completed and that all handlers have been 
> > disposed (as the container itself must be considered disposed 
> > when the method returns). Besides, async management serves 
> > little purpose when disposing the container.
> > 
> > Berin?
> 
> If it is not properly disposing of all the components, et. al.
> then we have an issue.  I was not aware of any real issue with
> the approach, and the Thread.sleep(1000) should be unnecessary.
> Esp. since background threads (unless marked Daemon) will not
> let the VM shut down until they are processed.
> 
> What prompted the inclusion of the Thread.sleep()?
> 

The problem lies in the contextManager because it assumes ownership of
the TPCThreadManager that is used in the command_queue. If the
ContextManager gets disposed before the command_queue is empty all
pending DisposeCommands silently get killed.

<code>
  componentManager.dispose();
  Thread.sleep(1000);
  contextManager.dispose();
</code>


Regards Christopher




--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message