Fix bug in ServiceSet::loadService (only worked properly for already-loaded
authorDavin McCall <davmac@davmac.org>
Wed, 30 Dec 2015 00:24:22 +0000 (00:24 +0000)
committerDavin McCall <davmac@davmac.org>
Wed, 30 Dec 2015 00:24:22 +0000 (00:24 +0000)
services) and add an accessor method for desired_state.

service.h

index 066275719d968ebdd47aa889472a0a58dab20226..5f533f5d00f2791c2c9d217048c15a79b9c32090 100644 (file)
--- a/service.h
+++ b/service.h
@@ -291,10 +291,17 @@ class ServiceRecord
     
     // TODO write a destructor
     
+    // Get the current service state.
     ServiceState getState() noexcept
     {
         return service_state;
     }
+    
+    // Get the target (aka desired) state.
+    ServiceState getTargetState() noexcept
+    {
+        return desired_state;
+    }
 
     // Set logfile, should be done before service is started
     void setLogfile(string logfile)
@@ -395,7 +402,7 @@ class ServiceSet
     {
         ServiceRecord *record = findService(name);
         if (record == nullptr) {
-            loadServiceRecord(name.c_str());
+            record = loadServiceRecord(name.c_str());
         }
         return record;
     }