[omniORB] deleting active servants

Duncan Grisby duncan at grisby.org
Fri Nov 28 16:20:05 GMT 2003


On Friday 28 November, =?windows-1252?Q?P=E1ncz=E9l_Levente?= wrote:

> I alway get the omniORB error message
> omniORB ERROR -- A servant has been deleted that is still activated.
>       id: root<...> (active)
> I get this message thought ALL destructors call
> POA::deactivate_object with the object's id.

It sounds like you are deleting a servant, and expecting to be able to
call deactivate_object in the servant's destructor. Are you?  That is
not permitted, since the POA is still holding a reference to the
servant. You should never delete a servant directly, but use the
servant reference counting provided by RefCountServantBase. That way,
you just call deactivate_object, and your servant is deleted when the
POA has finished with it.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list