Github user phrocker commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114864639
  
    --- Diff: libminifi/include/EventDrivenSchedulingAgent.h ---
    @@ -38,8 +38,8 @@ class EventDrivenSchedulingAgent : public 
ThreadedSchedulingAgent {
       /*!
        * Create a new processor
        */
    -  EventDrivenSchedulingAgent(std::shared_ptr<core::Repository> repo)
    -      : ThreadedSchedulingAgent(repo) {
    +  EventDrivenSchedulingAgent(const std::shared_ptr<core::Repository> 
&repo, const std::shared_ptr<Configure> &configure)
    --- End diff --
    
    These schedulers stop in a way in which we don't guarantee threads to stop. 
We wait in flow controller 1s to stop threads, thus we can't be 100% certain 
that the scheduled threads have stopped. They "probably" did, but we likely 
want to keep this pass by value to ensure that we are guaranteed shared 
ownership of the shared repo. Since the threads are daemon threads, they will 
stop eventually, but we probably want to avoid the error of a dereferencing 
deleted memory if we can to aid in eventual recoverability ( if that's a thing 
).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to