[omniORB] resolve_initial_references and ref counting : bug ?
Brecht Vermeulen
brecht.vermeulen@rug.ac.be
Tue, 23 Oct 2001 11:43:22 +0200
Duncan,
> The counting is correct. The two references present at shutdown are the
> Echo object and the root NamingContext. The Echo is still there since
> its _var hasn't gone out of scope when shutdown() is called. The
> NamingContext is more interesting.
>
> What happens is that the first time you call
> resolve_initial_references for a particular key, the resulting object
> reference is remembered for future use. This saves repeatedly
> performing the resolution, which might be quite costly. These stored
> references are not released until the ORB is being destroyed, which
> happens after shutdown, so shutdown reports the presence of the
> references. It's nothing to worry about.
>
> I've added some extra tracing at traceLevel 25 that prints out the
> repository id and identity of the objects remaining at shutdown, to
> give slightly more of a hint about what's going on.
>
Thanks for the information. Everything is indeed working as you
describe. There is one remaining object reference now in my program
which is the original reference returned by resolve_initial_references()
and it is only created the first time you call
resolve_initial_references().
The omniORB4 snapshot of yesterday is also compiling fine now !
This speed of answer and fix is the strength of open source software !
regards,
Brecht