[omniORB] Blocking of deactivate_object in omni3

Duncan Grisby duncan@grisby.org
Wed Nov 27 11:37:00 2002


On Tuesday 26 November, Neil Pilgrim wrote:

> From what I've read in H&V, deactivate_object is supposed to return
> immediately, or at least not block until the object is destroyed.

Not quite. The spec says

  "The operation does not wait for requests or etherealization to
   complete and always returns immediately after deactivating the
   ObjectId."

i.e. the function deactivates the object id, then returns. In the case
that there are no outstanding requests, and no etherealize method to
call, deactivating the object id includes removing the servant. That
can block for an arbitrarily long time.

> However that's not the behaviour I see; the cpu usage goes through
> the roof and it doesn't return for a 'long' time (seconds,
> minutes,...).

That must be a bug in either the application or in omniORB. Does the
omniORB trace show anything useful?  If not, try attaching to the
process and see what the thread is doing.

Cheers,

Duncan.

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