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