[omniORB] bug in SINGLE_THREAD_MODEL semantic

Duncan Grisby duncan at grisby.org
Mon Jul 28 13:39:33 BST 2003


On Saturday 26 July, Aleksey Kondratenko wrote:

> I did not check this in 4.0, but 3.0.4 surely have this bug.
> 
> In CORBA spec (at least 3.0) there is nota about single threaded model:
> The POA will still allow reentant calls from an object implementation to 
> itself, or to another object implementation managed by the same POA.
> 
> See 11.2.8.2 in 3.0 spec.
> 
> Omni does not adhere to this note. When I call object method from itself 
> it just hangs.

omniORB 3.0.x pre-dates the addition of that note to the spec, so it
does not allow re-entrant calls. omniORB 4.0.x does allow re-entrant
calls in single thread model POAs.

Note that the single thread model is still dangerous from this point
of view. If a servant in a single thread POA calls out to a remote
object, and then that object calls back into the same POA, it will
still deadlock, since the POA has no way to know that the incoming
call is part of the same logical thread of control.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list