#include "common.h"
#include "options.h"
#include "sensor.h"
+#include "actuator.h"
+#include "control.h"
// --- Standard headers --- //
+#include <syslog.h> // for system logging
#include <signal.h> // for signal handling
// --- Variable definitions --- //
// At the moment just always exit.
// Call `exit` so that Cleanup will be called to... clean up.
Log(LOGWARN, "Got signal %d (%s). Exiting.", signal, strsignal(signal));
- Thread_QuitProgram(false);
+
//exit(signal);
}
{
ParseArguments(argc, argv);
+ //Open the system log
+ openlog("mctxserv", LOG_PID | LOG_PERROR, LOG_USER);
+ Log(LOGINFO, "Server started");
// signal handler
//TODO: Make this work
/*
signal(signals[i], SignalHandler);
}
*/
- Sensor_Spawn();
+ Sensor_Init();
+ Actuator_Init();
+ //Sensor_StartAll("test");
+ //Actuator_StartAll("test");
+ const char *ret;
+ if ((ret = Control_SetMode(CONTROL_START, "test")) != NULL)
+ Fatal("Control_SetMode failed with '%s'", ret);
// run request thread in the main thread
FCGI_RequestLoop(NULL);
- // Join the dark side, Luke
- // *cough*
- // Join the sensor threads
- Sensor_Join();
+ if ((ret = Control_SetMode(CONTROL_STOP, "test")) != NULL)
+ Fatal("Control_SetMode failed with '%s'", ret);
+ //Sensor_StopAll();
+ //Actuator_StopAll();
+
Cleanup();
return 0;
}