Robert Osfield wrote:
Hi All,

I'm just doing a code review from before and after the r12294 rev and
it looks like the move of the code from a method being called in the
graphics thread GraphicsWindowX11::swapBufferImplentation() to on
being called from the main thread GraphcisWindowX11::checkEvents()
without the display being changed from the one used for the graphics
thread to the one used for events.  If I am correct then it should be
a simple fix of just replacing the _display variable usage to the
local display variable.

I will test in the svn/trunk configuration and then with my suggested
change.  Will update you all soon on how I get on.


I think this is getting close to the problem. I have further narrowed the problem to the last section of differences in GraphicsWindowX11.cpp between r12293 and r12294 (I applied all the other parts of the difference and there is no problem). If I comment out the second while( XPending(_display) ) loop (see around line 1467) there is no crash. Is the _display variable changed in the first loop?

I also tried putting a sleep(1) call just above line 1467 the first time the function is run and now I can not get it to crash, further suggesting a race condition that the loop is triggering.

Eric

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

Reply via email to