Revision: 8586
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8586&view=rev
Author:   hsujohnhsu
Date:     2010-03-12 04:55:07 +0000 (Fri, 12 Mar 2010)

Log Message:
-----------
mutex lock against race condition on model removal.

Modified Paths:
--------------
    code/gazebo/trunk/server/rendering/OgreCamera.cc
    code/gazebo/trunk/server/rendering/UserCamera.cc

Modified: code/gazebo/trunk/server/rendering/OgreCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.cc    2010-03-12 02:24:27 UTC 
(rev 8585)
+++ code/gazebo/trunk/server/rendering/OgreCamera.cc    2010-03-12 04:55:07 UTC 
(rev 8586)
@@ -285,9 +285,11 @@
   Time physics_dt = World::Instance()->GetPhysicsEngine()->GetStepTime();
   if 
(((Simulator::Instance()->GetSimTime()-this->lastUpdate-this->renderPeriod)/physics_dt)
 >= 0)
   {
+    {
+      boost::recursive_mutex::scoped_lock 
md_lock(*Simulator::Instance()->GetMDMutex());
+      this->renderTarget->update();
+    }
 
-    this->renderTarget->update();
-
     if (this->captureData)
     {
       boost::recursive_mutex::scoped_lock 
mr_lock(*Simulator::Instance()->GetMRMutex());

Modified: code/gazebo/trunk/server/rendering/UserCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/UserCamera.cc    2010-03-12 02:24:27 UTC 
(rev 8585)
+++ code/gazebo/trunk/server/rendering/UserCamera.cc    2010-03-12 04:55:07 UTC 
(rev 8586)
@@ -186,8 +186,11 @@
 
   this->lastUpdate = Simulator::Instance()->GetRealTime();
 
-  OgreCamera::UpdateCam();
-  this->window->update();
+  {
+    boost::recursive_mutex::scoped_lock 
md_lock(*Simulator::Instance()->GetMDMutex());
+    OgreCamera::UpdateCam();
+    this->window->update();
+  }
 
   if (this->saveFramesP->GetValue())
   {


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to