[omniORB] any & objrefs.

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Wed, 7 Jul 1999 09:55:13 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0029_01BEC85E.CECFD2C0
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi Omniorb developers,
    I would need a little explanation about object refs management with =
anys.
Up to 2.6.1 the manual stated that any values did not manage refs; =
indeed the refcount did not change across insertion/extraction. This =
created some troubles in cases when ownership of refs could not be =
transferred to any. I wrote a small portable package to fully serialize =
anys through dynany recursive scan (and the contrary); when loading from =
a stream to an any, there was need to keep track of all refs created =
through object_to_string() so that they could be released upon context =
deletion (e.g. StreamToAny object disposal).
Now, if I correctly understand 2.8 semantics, anys do a _duplicate() =
when they are fed with refs, and all extractors should do the same (so =
this would make the above problem much simpler because I can _release() =
the ref after the any has taken it, and the ref is then disposed when =
the any is destroyed unless someone _duplicate() the ref).
Is that correct ? Thanks,
                                             Renzo Tomaselli     =20
-------------------------------------------------------------------------=
--
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana,  Trento TN  ITALY
Tel. +39 0461 773164      Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it  =20
-------------------------------------------------------------------------=
--

------=_NextPart_000_0029_01BEC85E.CECFD2C0
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2014.210" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Hi Omniorb developers,</FONT></DIV>
<DIV><FONT size=3D2>&nbsp;&nbsp;&nbsp; I would need a little explanation =
about=20
object refs management with anys.</FONT></DIV>
<DIV><FONT size=3D2>Up to 2.6.1 the manual stated that any values did =
not manage=20
refs; indeed the refcount did not change across insertion/extraction. =
This=20
created some troubles in cases when ownership of refs could not be =
transferred=20
to any. I wrote a small portable package to fully serialize anys through =
dynany=20
recursive scan (and the contrary); when loading from a stream to an any, =
there=20
was need to keep track of all refs created through object_to_string() so =
that=20
they could be released upon context deletion (e.g. StreamToAny object=20
disposal).</FONT></DIV>
<DIV><FONT size=3D2>Now, if I correctly understand 2.8 semantics, anys =
do a=20
_duplicate() when they are fed with refs, and all extractors should do =
the same=20
(so this would make the above problem much simpler because I can =
_release() the=20
ref after the any has taken it, and the ref is then disposed when the =
any is=20
destroyed unless someone _duplicate() the ref).</FONT></DIV>
<DIV><FONT size=3D2>Is that correct ? Thanks,</FONT></DIV>
<DIV><FONT=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Renzo Tomaselli&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
<BR>---------------------------------------------------------------------=
------<BR>TecnoTP=20
s.n.c. Special Information System Design<BR>Maso Pelauchi I38050 Ronchi=20
Valsugana,&nbsp; Trento TN&nbsp; ITALY<BR>Tel. +39 0461=20
773164&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fax. +39 0461 771514<BR>e-mail: <A=20
href=3D"mailto:renzo.tomaselli@tecnotp.it">renzo.tomaselli@tecnotp.it</A>=
&nbsp;&nbsp;=20
<BR>---------------------------------------------------------------------=
------</FONT></DIV></BODY></HTML>

------=_NextPart_000_0029_01BEC85E.CECFD2C0--