Legacy Issue Number: 5105
Source: Triodia Technologies Pty Ltd ( Michi Henning)
For reference_to_servant(), the spec says:
> This operation requires the RETAIN policy or the USE_DEFAULT_SERVANT
> If neither policy is present, the WrongPolicy exception is raised.
> If the POA has the RETAIN policy and the specified object is present in
> Object Map, this operation returns the servant associated with that object
in the Active
> Object Map. Otherwise, if the POA has the USE_DEFAULT_SERVANT policy and a
> default servant has been registered with the POA, this operation returns
> servant. Otherwise, the ObjectNotActive exception is raised.
This says that, if I use USE_DEFAULT_SERVANT, reference_to_servant() always
and unconditionally returns the default servant.
This appears to be wrong. In particular, I can have USE_DEFAULT_SERVANT but
still add other servants explicitly to the AOM. If I do that, I can have,
servant X with object ID 1 as an explicitly activated servant, in addition
to the default
servant. In this situation, if I call reference_to_servant() with a
reference with object ID 1,
it should return servant X instead of the default servant.
The exact same reasoning applies to id_to_servant(), which also
the default servant with USE_DEFAULT_SERVANT().
I think we need to fix this – it appears that the current words are simply
Reported: CORBA 2.6 — Tue, 2 Apr 2002 05:00 GMT
Disposition: Resolved — CORBA 3.0.2
Updated: Fri, 6 Mar 2015 20:58 GMT