Index: /trunk/FACT++/src/scheduler.cc
===================================================================
--- /trunk/FACT++/src/scheduler.cc	(revision 11253)
+++ /trunk/FACT++/src/scheduler.cc	(revision 11254)
@@ -154,5 +154,4 @@
     };
 
-    int fSessionId;
     string fDatabase;
     string fDBName;
@@ -632,7 +631,5 @@
         T::Message("Scheduling done.");
 
-        fSessionId = -1;
-
-        return error ? T::kSM_Error : T::kSM_Ready;
+        return error;
     }
 
@@ -655,5 +652,5 @@
     */
 
-    AutoScheduler(ostream &out=cout) : T(out, "SCHEDULER"), fNextIsPreview(true), fSessionId(-1), fDBName("")
+    AutoScheduler(ostream &out=cout) : T(out, "SCHEDULER"), fNextIsPreview(true), fDBName("")
     {
         AddStateName(kSM_Scheduling, "Scheduling", "Scheduling in progress.");
@@ -678,5 +675,5 @@
             try
             {
-                return Schedule();
+                return Schedule() ? T::kSM_Error : T::kSM_Ready;
             }
             catch (const mysqlpp::Exception &e)
@@ -689,7 +686,4 @@
         case T::kSM_Error:
             return T::kSM_Ready;
-
-        //case kSM_Comitting:
-        //    return Commit();
         }
         return T::GetCurrentState();
@@ -703,6 +697,4 @@
             if (evt.GetSize()>0)
                 fDBName = evt.GetText();
-        //case kSM_Comitting:
-            //fSessionId = evt.GetInt();
             break;
         }
@@ -710,17 +702,17 @@
         return evt.GetTargetState();
     }
-    int Configure(const Event &)
-    {
-        return T::GetCurrentState();
-    }
-
-    bool SetConfiguration(const Configuration &conf)
-    {
-        fDatabase = conf.Get<string>("schedule-database");
+
+    int EvalConfiguration(const Configuration &conf)
+    {
+        fDatabase       = conf.Get<string>("schedule-database");
         fDurationCalRun = conf.Get<int>("duration-cal-run");
         fDurationPedRun = conf.Get<int>("duration-ped-run");
         fDurationRepos  = conf.Get<int>("duration-repos");
 
-        return true;
+        if (!conf.Has("schedule"))
+            return -1;
+
+        fDBName = conf.Get<string>("schedule");
+        return Schedule();
     }
 
@@ -755,5 +747,5 @@
     // Start io_service.run to only use the commandHandler command detaching
     AutoScheduler<S> io_service(wout);
-    if (!io_service.SetConfiguration(conf))
+    if (!io_service.EvalConfiguration(conf))
         return -1;
 
@@ -779,5 +771,5 @@
 
     AutoScheduler<S> io_service(wout);
-    if (!io_service.SetConfiguration(conf))
+    if (!io_service.EvalConfiguration(conf))
         return -1;
 
@@ -840,4 +832,5 @@
 #endif
                                            ,  "Database link as in\n\t[user:[password]@][server][:port][/database]\nOverwrites options from the default configuration file.")
+        ("schedule",          var<string>(),  "")
         ("mintime",           var<int>(),     "minimum observation time")
         ("duration-cal-run",  var<int>()
@@ -859,5 +852,5 @@
 
     po::positional_options_description p;
-    p.add("schedule-database", 1); // The first positional options
+    p.add("schedule", 1); // The first positional options
 
     conf.AddEnv("dns", "DIM_DNS_NODE");
