eive-obsw/watchdog/main.cpp
Robin Mueller 3b61697615
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
refactored FIFO handling
2023-03-06 00:55:12 +01:00

34 lines
923 B
C++

#include <filesystem>
#include <iostream>
#include <string>
#include "Watchdog.h"
#include "definitions.h"
/**
* @brief This watchdog application uses a FIFO to check whether the OBSW is still running.
* It checks whether the OBSW writes to the the FIFO regularly.
*/
int main() {
std::cout << "Starting OBSW watchdog" << std::endl;
if (std::filesystem::exists(watchdog::RUNNING_FILE_NAME)) {
std::cout << "Removing " << watchdog::RUNNING_FILE_NAME << std::endl;
int result = std::remove(watchdog::RUNNING_FILE_NAME.c_str());
if (result != 0) {
std::cerr << "file removal failure" << std::endl;
}
}
try {
WatchdogTask watchdogTask;
int result = watchdogTask.performOperation();
if (result != 0) {
return result;
}
} catch (const std::runtime_error& e) {
std::cerr << "Run time exception " << e.what() << std::endl;
return -1;
}
return 0;
}