pnoltes commented on code in PR #452:
URL: https://github.com/apache/celix/pull/452#discussion_r1045130547
##########
bundles/cxx_remote_services/integration/src/TestExportImportRemoteServiceFactory.cc:
##########
@@ -263,13 +263,16 @@ class CalculatorImportServiceFactory final : public
celix::rsa::IImportServiceFa
auto& cmp =
ctx->getDependencyManager()->createComponent(std::make_unique<ImportedCalculator>(logHelper));
cmp.createServiceDependency<pubsub_publisher>(PUBSUB_PUBLISHER_SERVICE_NAME)
.setRequired(true)
+ .setStrategy(DependencyUpdateStrategy::locking)
Review Comment:
I think I understand why the locking instead of suspend is needed.
The remote pushstream and promise test is done inside a `ctx->useService`
call and this call is executed on the Celix event thread. Because pubsub
connection are not guaranteed to be setup before using pubsub, it can happen
that the first calls of a stream and/or promise fail and this connections
cannot be updated because the Celix event thread is busy.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]