From 6f7b682acb9f7697dcb57188678374b8f1dcfbcc Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Thu, 12 Sep 2024 13:20:36 +0200
Subject: [PATCH] temporary fix: VirtualRobotReader::getRobotWaiting is
 currently not working in combination with Component::onConnectComponent.
 Changing back to previous behavior

---
 .../client/common/VirtualRobotReader.cpp         | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
index c1a483450..130e229fb 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
@@ -90,20 +90,26 @@ namespace armarx::armem::robot_state
         ARMARX_INFO << "Trying to get robot `" << name << "` ...";
 
         VirtualRobot::RobotPtr robot = nullptr;
-        while (robot == nullptr)
+
+        // while (robot == nullptr)
         {
             // might be nullptr if query fails
             robot = getRobot(name, timestamp, loadMode);
 
             if (robot == nullptr)
             {
-                ARMARX_INFO << deactivateSpam(1) << "Failed to query robot `" << name
-                               << "`. Will try again ...";
+                ARMARX_WARNING << deactivateSpam(1) << "Failed to query robot `" << name
+                               << "`. At the moment, a blocking behavior is not possible in onConnectComponent()."
+                               << "Therefore, a nullptr will be returned. This will likely cause problems downstream.";
+                            //    << "`. Will try again ...";
+            }
+            else
+            {
+                ARMARX_INFO << "Got robot `" << name << "`.";
             }
-            Clock::WaitFor(Duration::MilliSeconds(200));
+            // Clock::WaitFor(Duration::MilliSeconds(200));
         }
 
-        ARMARX_INFO << "Got robot `" << name << "`.";
 
         return robot;
     }
-- 
GitLab