]> granicus.if.org Git - icinga2/commitdiff
Fix RandomCheckTask result processing.
authorMichael Friedrich <Michael.Friedrich@netways.de>
Sun, 16 Mar 2014 21:26:17 +0000 (22:26 +0100)
committerMichael Friedrich <Michael.Friedrich@netways.de>
Sun, 16 Mar 2014 21:26:17 +0000 (22:26 +0100)
Fixes #5780

lib/methods/randomchecktask.cpp
lib/methods/randomchecktask.h

index 8aa90dee326fdf19244a02847390a110d9e3a43e..ebbd321d8d4b2019e11e9888358922d2f84275eb 100644 (file)
@@ -31,7 +31,7 @@ using namespace icinga;
 
 REGISTER_SCRIPTFUNCTION(RandomCheck, &RandomCheckTask::ScriptFunc);
 
-CheckResult::Ptr RandomCheckTask::ScriptFunc(const Service::Ptr&)
+void RandomCheckTask::ScriptFunc(const Service::Ptr& service, const CheckResult::Ptr& cr)
 {
        String output = "Hello from ";
        output += Utility::GetHostName();
@@ -39,12 +39,11 @@ CheckResult::Ptr RandomCheckTask::ScriptFunc(const Service::Ptr&)
        Dictionary::Ptr perfdata = make_shared<Dictionary>();
        perfdata->Set("time", Convert::ToDouble(Utility::GetTime()));
 
-       CheckResult::Ptr cr = make_shared<CheckResult>();
        cr->SetOutput(output);
        cr->SetPerformanceData(perfdata);
        cr->SetState(static_cast<ServiceState>(Utility::Random() % 4));
        cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName());
 
-       return cr;
+       service->ProcessCheckResult(cr);
 }
 
index bf64676ff559817826eca0f84a3b4ba7c2416554..dfea164c50b9d2ef7454252e8fba9c24b8ccde03 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
 class RandomCheckTask
 {
 public:
-       static CheckResult::Ptr ScriptFunc(const Service::Ptr& service);
+       static void ScriptFunc(const Service::Ptr& service, const CheckResult::Ptr& cr);
 
 private:
        RandomCheckTask(void);