szaszm commented on a change in pull request #735: WIP: MINIFICPP-1158 - Event
driven processors can starve each other
URL: https://github.com/apache/nifi-minifi-cpp/pull/735#discussion_r382080471
##########
File path: libminifi/src/core/Processor.cpp
##########
@@ -268,6 +268,7 @@ void Processor::onTrigger(const
std::shared_ptr<ProcessContext> &context, const
bool Processor::isWorkAvailable() {
// We have work if any incoming connection has work
+ std::lock_guard<std::mutex> lock(mutex_);
Review comment:
My guess would be that we need to use `Connectable::work_available_mutex_`
instead of `Processor::mutex_`.
I find it a very bad design decision to expose threading and signaling
primitives in `Connectable`. `isWorkAvailable()` should be a source object (of
"work") that can be checked for readiness and waited for. That would break an
important API, though, so just leaving it here.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services