On 18 December 2015 at 09:49, Dario Minieri <[email protected]> wrote:

> Hi,
>
> Thanks Robert for your reply. I'm using OSG3.2.1. I can see Mutex
> lock/unlock in Node. I've to look the DatabasePager implementation...but I
> can't understand the crash, because locks there are...


When doing multi-threading the smallest little mistake can cause problems,
you just have to work through eliminating the possibilities, it can be
quite tough.

As a general note, OSG-3.4.0 contains quite a few week improvements
including on the thread safety side so would recommend using it.  The
OSG-3.5.0 dev release also uses osgDB::readRefNodeFile() etc. internally to
avoid potential issues with mixing the osgDB::Registry Object cache.  This
improvements might not affect your problem but it might be worth trying to
upgrade to at least 3.4.0.

With your own code I'd recommend changing from using C* pointers to
ref_ptr<> an time you are transferring ownership of the OSG objects, in
your code example you pop a pointer to a node off a container, both the
container and the local pointer should use ref_ptr<> for memory safety.

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to