<div class="gmail_quote">On Wed, Apr 1, 2009 at 6:46 AM, Duncan Grisby <span dir="ltr">&lt;<a href="mailto:duncan@grisby.org">duncan@grisby.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">&gt; &gt; PortableServer::Servant_var servant = _poa-&gt;reference_to_servant(obj);<br>
&gt;<br>
&gt; Sorry, but no :) PortableServer::Servant is a pointer to (not a copy of)<br>
&gt;  the incarnating servant in the active object map. You don&#39;t want the<br>
&gt; _var class to clean that up ever (and btw it won&#39;t compile anyway<br>
&gt; because PortableServer::Servant is a local corba pseudo class thingy).<br>
<br>
</div>You&#39;re both wrong, just in different ways :-)<br>
<div class="im"></div></blockquote><div><br>Duh, of course I meant ServantBase_var... :-) Forgot a bit details, since we have it wrapped in a macro.<br> <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">
&gt;   PortableServer::Servant servant = _poa-&gt;reference_to_servant(obj);<br>
&gt;   servant-&gt;_remove_ref();<br>
<br>
</div>That is a dangerous thing to do. By calling _remove_ref there, you are<br>
assuming that the POA is going to keep holding its reference to the<br>
servant.<br>
<div class="im"></div></blockquote><div><br>:-) This is exactly what happens in our case... But I am well-aware about it.<br> </div></div>-- <br>Sincerely yours,<br>Michael.<br>