diff --git a/rcl/src/rcl/node.c b/rcl/src/rcl/node.c index 6f0df5c83..7f60c0a59 100644 --- a/rcl/src/rcl/node.c +++ b/rcl/src/rcl/node.c @@ -264,7 +264,14 @@ rcl_node_init( node->impl->logger_name, "creating logger name failed", goto fail); #endif // RCL_LOGGING_ENABLED - domain_id = node->impl->options.domain_id; + if (RCL_DEFAULT_DOMAIN_ID != node->impl->options.domain_id) { + domain_id = node->impl->options.domain_id; + } else { + if (RCL_RET_OK != rcl_init_options_get_domain_id(&context->impl->init_options, &domain_id)) { + goto fail; + } + } + if (RCL_DEFAULT_DOMAIN_ID == domain_id) { if (RCL_RET_OK != rcl_get_default_domain_id(&domain_id)) { goto fail; @@ -273,6 +280,7 @@ rcl_node_init( if (RMW_DEFAULT_DOMAIN_ID == domain_id) { domain_id = 0u; } + RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Using domain ID of '%zu'", domain_id); node->impl->actual_domain_id = domain_id;