-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hi guys,
during a recent discussion at the office the question was raised whether or not
there's
anything architectural that's stopping the owner of a ref-counted resource to
return it
via a raw pointer and dereference (and hence delete it) before it's assigned to
a
receiving ref_ptr.
Along these lines:
caller: Resource* r = foo();
owner: return m_resource.get()
(separate thread does m_resource.reset() or similar)
caller: ref_ptr p(r);
ref_ptr is assigned return value of 'foo()' which is now a dangling pointer.
(Yes, you would usually do 'ref_ptr p(foo())' but that's not fundamentally
different
from the above sequence.)
To the best of my knowledge there's nothing in the design of ref_ptr that stops
this,
but then again I don't believe it's an issue because otherwise we'd surely have
heard.
Can anyone think of something (in the ABI, or elsewhere) that would prevent
this?
Cheers,
/ulrich
- --
Fingerprint 0227 8EE1 2C64 8EF4 DA11 9864 FF16 0114 B9DA 3318
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBCAAGBQJTF5BRAAoJEP8WARS52jMYaHcH/igaGEoeexD1kdO2c3KNER/N
VCeLvswEvoWqTV6Q9legodZgGUgeAXClx8p+lZcM8uizTLy5LknDkRn87It58vF8
cJfZLcgbwuw/8BA3qF/iURn8taAgqBYM97t1tWPuLnoshnW1WU0C6G5Q8uJuWRUR
TfqVxCvcllXLOZPefOeS3cLI4YUgxIRywUGNTW5A+4/vNa2kJAvVr1ZDnuT8/fjg
vpYiV761iR+TM/bKPTS1+wsC723iYFSYl/7WL1Sgy/NevB/BUz9H75wtkyCXib3J
APlweXbYZF2RH20Mu/3hO59SLrOZ8wefEOtc2fXjNn2URAfzVmr9mPRtphJTCUE=
=YK8M
-----END PGP SIGNATURE-----
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org