HI Richard + Paul,<br><br>Thanks for explanation.  Feel free to dive in an code up such a solution.<br><br>Robert.<br><br><div class="gmail_quote">On Tue, Mar 17, 2009 at 10:17 AM, Schmidt, Richard <span dir="ltr"><<a href="mailto:Richard.Schmidt@eads.com">Richard.Schmidt@eads.com</a>></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;">The document is about a design pattern called double locking, which is especially suitable for singleton objects in multithreaded environments.<br>

<br>
The pattern is essentially this:<br>
<div class="im"><br>
static Singleton *instance (void)<br>
{<br>
// First check<br>
if (instance_ == 0)<br>
{<br>
// Ensure serialization (guard<br>
// constructor acquires lock_).<br>
Guard<Mutex> guard (lock_);<br>
// Double check.<br>
if (instance_ == 0)<br>
instance_ = new Singleton;<br>
}<br>
return instance_;<br>
// guard destructor releases lock_.<br>
}<br>
<br>
</div>The guard mutex is only accessed in the initialization phase of the singleton. Once instance_ is set the guard does not need to be queried anymore.<br>
<div class="im"><br>
Richard<br>
_______________________________________<br>
Von: <a href="mailto:osg-users-bounces@lists.openscenegraph.org">osg-users-bounces@lists.openscenegraph.org</a> [mailto:<a href="mailto:osg-users-bounces@lists.openscenegraph.org">osg-users-bounces@lists.openscenegraph.org</a>] Im Auftrag von Robert Osfield<br>

</div>Gesendet: Dienstag, 17. März 2009 11:07<br>
<div class="im">An: OpenSceneGraph Users<br>
Betreff: Re: [osg-users] Multithreading crash duetoosgDb::Registry::instance()<br>
<br>
</div><div><div></div><div class="h5">2009/3/17 Schmidt, Richard <<a href="mailto:Richard.Schmidt@eads.com">Richard.Schmidt@eads.com</a>><br>
<a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/DC-Locking.pdf" target="_blank">http://www.cs.wustl.edu/~schmidt/PDF/DC-Locking.pdf</a><br>
<br>
Could you explain what the above document is all about...<br>
<br>
Robert.<br>
</div></div><div><div></div><div class="h5">_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</div></div></blockquote></div><br>