[omniORB] Bug when an object implementation calls itsef from a separate thr ead

Duncan Grisby duncan at grisby.org
Mon Sep 13 15:22:05 BST 2004


On Friday 3 September, Yann.Pochon at ch.delarue.com wrote:

> The exception from localIdentity.cc:184 is thrown because my "separate
> thread" isn't an omni_thread.

Indeed.

> So as to make the life of the application easier (no need to check if a call
> on an object implementation is done from 
> an omni_thread), I propose to patch the method
> omniLocalIdentity::dispatch(omniCallDescriptor& call_desc) as follow:
> If the calling thread isn't an omni_thread, a dummy omni_thread is created
> before calling pd_adapter->dispatch() and
> released just after.

Your proposed patch unnecessarily slows down all calls. I've checked
in a different change, to the rmutex implementation itself, that only
messes with dummy omni_threads if required.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list