Add SIGINT and SIGTERM handle

This commit is contained in:
2024-05-08 15:10:05 +02:00
parent b482174316
commit 617980d728
2 changed files with 37 additions and 18 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.idea
cmake-build-debug

View File

@@ -1,12 +1,22 @@
#include <wiringPi.h>
#include <iostream>
#include <atomic>
#include <csignal>
#include "MyClient.h"
// Numéro du GPIO connecté à la tirette
#define TIRETTE_GPIO 17
std::atomic<bool> shouldStop = false;
void signalHandler(int signum) {
shouldStop = true;
}
int main(int argc, char* argv[]) {
signal(SIGINT, signalHandler);
signal(SIGTERM, signalHandler);
// Initialisation de WiringPi
if (wiringPiSetupGpio() == -1) {
std::cerr << "Erreur lors de l'initialisation de WiringPi." << std::endl;
@@ -28,6 +38,7 @@ int main(int argc, char* argv[]) {
client.setTiretteState(true);
try{
client.start();
client.sendMessage("tirette;strat;ready;1");
@@ -52,6 +63,11 @@ int main(int argc, char* argv[]) {
lastEtat = etat;
delay(50);
}
}
catch (std::exception& e){
std::cerr << e.what() << std::endl;
return 1;
}
return 0;
}