[omniORB] Server Side Garbage Collection

jiwils - Jimmy Wilson jiwils@acxiom.com
Mon, 16 Oct 2000 17:32:14 -0500


I have two interfaces.  The first, is a factory object that is used to
create (on demand) server-side implementations of the second interface.

In this example, interface A is the factory interface, and interface B is
the one created by the factory.

interface A
{
    Object  Create( in string strInterface );
	.
	.
	.
};

interface B
{
	.
	.
	.
	Release();
};

My problem is what happens when the client "forgets" to invoke B::Release().
This really causes a memory leak on the server-side.  Or, what happens when
the client machine is accidentally rebooted in the middle of a request?
Either scenario adversely impacts the server.

Is there a CORBA standard way to take care of this problem?  Should the
factory server implementation implement some kind of reference counting
system?  Or is there another method to use to avoid this type of problem.

Jimmy
-- 
James "Jimmy" Wilson
Software Developer, Acxiom Corporation
jiwils@acxiom.com