[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