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. ---