[omniORB] distant object destruction
Jean-Francois Tilman
jean-francois.tilman@axlog.fr
Thu, 12 Oct 2000 11:13:09 +0200
David Riddoch wrote:
>
> On Wed, 11 Oct 2000, bruno PATIN wrote:
>
> > I'm trying to destroy a CORBA object that has been referenced by
> > omniNames.
>
> The existence of object references has no effect on the lifecycle of an
> object implementation.
>
> > On a Linux box, I obtain the message :
> >
> > omniORB : ERROR - A servant has been deleted that is still activated
> > repo id :
> > id : root<33554432>
>
> This would imply that you have tried to 'delete' a servant. You can only
> do this if:
> 1. it is not activated in any object adapter
> 2. _and_ it is not derived from RefCountServantBase
How to deactivate an object which has been implicitly activated ?
> > On a SGI box, I obtain a bus error and I am stopped in
> >
> > Portable::RefCountServantBase::~RefCountServantBase(),
>
> This implies that your servant _is_ derived from RefCountServantBase.
> Therefore you must not ever try to delete it. It will be deleted once you
> have deactivated it and the reference count has gone to zero.
Our object uses implicit activation and we don't know its POA. Must we
use the RootPOA ? to deactivate this object ? Or what must we do to know
the used POA ? How to obtain the ObjectID to call deactivate_object()
method ?
Thank you for your help.