X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fmain.c;h=4b36b20fbb5f14db9630bbee31766966c6a3cb3b;hb=3a85bddfca280f46d675f4987615c65089c80f44;hp=ec21a25e8c1af0581fe987420fa8476588cd2f76;hpb=ed21599957130173a661904f22e50af59a96a6ac;p=matches%2FMCTX3420.git diff --git a/server/main.c b/server/main.c index ec21a25..4b36b20 100644 --- a/server/main.c +++ b/server/main.c @@ -1,12 +1,14 @@ /** * @file main.c - * @purpose main and its helper functions, signal handling and cleanup functions + * @brief main and its helper functions, signal handling and cleanup functions */ // --- Custom headers --- // #include "common.h" #include "options.h" #include "sensor.h" +#include "actuator.h" +#include "control.h" // --- Standard headers --- // #include // for signal handling @@ -41,7 +43,7 @@ void SignalHandler(int signal) // 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); } @@ -75,15 +77,22 @@ int main(int argc, char ** argv) 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; }