El Jueves 29 Mayo 2008ES 22:06:09 Brian Keener escribió:
> Alberto Luaces wrote:
> > > This almost seems as if iot has something to do with the actually
> > > writing of the osg file when it writes the data and then something not
> > > terminating as it should.
> >
> > I think this could be a non-valid example, because osgDB::DynamicLibrary
> > on UNIX (including Cygwin) only loads symbols when needed (it opens them
> > with the RTLD_LAZY specifier), so the OSG's plugin register could realize
> > the mismatch before trying to load any symbols from the DLL.
>
> Alberto,
>
> I'm not sure I understand.   Are you saying that even though the debug
> messages say that the dll was opened that there are still parts of the dll
> whcih have not been loaded and that it is within these areas (when they are
> finally loaded) that the interaction with cygwin causing the hang
> ultimately makes itself visible? Thus the simple fact of open and closing
> the dll does nothing that helps us unless we can get to the point of
> something occurring which causes the parts of the dll we need to be loaded.
>
> Not really sure how to ask what I wrote above so I hope you can understand
> what I am asking.

Brian,

yes, this is what I meant. To load a dynamic symbol you have first to open the 
DLL file containing it, and then load it explicitly before use (if you used 
RTLD_LAZY). The source code at DynamicLibrary.cpp shows this. This can 
explain why it hangs depending on the data file loaded.

I think we could search for the differences between the .osg plugin and the 
well-behaved others.

Alberto
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to