diff --git a/source/RobotAPI/components/units/TCPControlUnit.cpp b/source/RobotAPI/components/units/TCPControlUnit.cpp index c9279c4ed0f0110579bfc8dfc7c5e6f06eac2b3f..ccc88e9923269ba39be462610c3ca4fabbb92eaf 100644 --- a/source/RobotAPI/components/units/TCPControlUnit.cpp +++ b/source/RobotAPI/components/units/TCPControlUnit.cpp @@ -306,9 +306,9 @@ namespace armarx { ScopedTryLock lock(dataMutex); + if (lock.owns_lock()) { - if (lock.owns_lock()) { localTcpVelocitiesMap.clear(); TCPVelocityDataMap::iterator it = tcpVelocitiesMap.begin(); @@ -331,23 +331,23 @@ namespace armarx RemoteRobot::synchronizeLocalClone(localRobot, robotStateComponentPrx); //ARMARX_DEBUG << "RN TCP R pose2:" << localRobot->getRobotNode("TCP R")->getGlobalPose(); } - } - calculationRunning = true; + //calculationRunning = true; - if (requested) - { - // if((IceUtil::Time::now()-lastCommandTime).toMilliSecondsDouble() > getProperty<float>("MaximumCommandDelay").getValue()) - // { - // ARMARX_WARNING << "Exceeded MaximumCommandDelay - releasing TCPControlUnit"; - // calculationRunning = false; - // release(); <---- this is a potential deadlock - // } - // else - calcAndSetVelocities(); - } + if (requested) + { + // if((IceUtil::Time::now()-lastCommandTime).toMilliSecondsDouble() > getProperty<float>("MaximumCommandDelay").getValue()) + // { + // ARMARX_WARNING << "Exceeded MaximumCommandDelay - releasing TCPControlUnit"; + // calculationRunning = false; + // release(); <---- this is a potential deadlock + // } + // else + calcAndSetVelocities(); + } - calculationRunning = false; + //calculationRunning = false; + } }