[omniORB] Beginner's question about corbaloc

Duncan Grisby duncan at grisby.org
Mon Nov 15 15:22:34 GMT 2004


On Monday 15 November, fischer.c at atlas.de wrote:

> i just found it in http://www.omg.org/docs/formal/03-06-03.pdf,
> the current version of the C++ Language Mapping, in chapter
> 1.37.5. 'Skeleton Operations'. Thanks for pointing that out.
> 
> After reading the third chapter i understand what happens in the
> case of an already activated servant incarnating exactly one object.
> But the last sentence is a bit confusing:
> "The POA is gotton by invoking _default_POA() on the servant".
> 
> Would this mean that _default_POA() in this situaton returned a POA
> other than the root POA, although it is not overriden?

No, _default_POA() always returns the Root POA unless you override
it.

Reading the spec again, it is rather confusing and inconsistent. The
section on already activated servants says:

  "... This requires the POA with which the servant was activated to
   have been created with the UNIQUE_ID and RETAIN policies..."

which suggests to me that it's the POA within which the servant is
already activated that matters, not the one returned by
_default_POA(). That's the behaviour omniORB has. The wording of "The
POA is gotten by invoking _default_POA() on the servant" doesn't seem
to fit with the rest of the wording (and the word "gotten" really
grates on my English sensibilities ;-)

Anyway, to avoid confusion, it's always best to override
_default_POA() if you're going to use _this() outside the context of
an operation invocation.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list