@@ -208,15 +208,21 @@ struct ModuleService::ServiceImpl : viam::module::v1::ModuleService::Service {
208208 const std::lock_guard<std::mutex> lock (parent.lock_ );
209209 const viam::module ::v1::HandlerMap hm = to_proto (parent.module_ ->handles ());
210210 *response->mutable_handlermap () = hm;
211- auto new_parent_addr = parent.grpc_conn_protocol_ + request->parent_address ();
212- if (parent.parent_addr_ != new_parent_addr) {
213- parent.parent_addr_ = std::move (new_parent_addr);
214- Options opts{0 , boost::none};
215- opts.set_check_every_interval (std::chrono::seconds{5 })
216- .set_reconnect_every_interval (std::chrono::seconds{1 });
217- parent.parent_ = RobotClient::at_local_socket (parent.parent_addr_ , opts);
218- parent.parent_ ->connect_logging ();
211+
212+ const char * no_module_parent =
213+ std::getenv (" VIAM_NO_MODULE_PARENT" ); // NOLINT(concurrency-mt-unsafe)
214+ if (strcmp (no_module_parent, " true" ) != 0 ) {
215+ auto new_parent_addr = parent.grpc_conn_protocol_ + request->parent_address ();
216+ if (parent.parent_addr_ != new_parent_addr) {
217+ parent.parent_addr_ = std::move (new_parent_addr);
218+ Options opts{0 , boost::none};
219+ opts.set_check_every_interval (std::chrono::seconds{5 })
220+ .set_reconnect_every_interval (std::chrono::seconds{1 });
221+ parent.parent_ = RobotClient::at_local_socket (parent.parent_addr_ , opts);
222+ parent.parent_ ->connect_logging ();
223+ }
219224 }
225+
220226 response->set_ready (parent.module_ ->ready ());
221227 return grpc::Status ();
222228 }
0 commit comments