diff --git a/arucoDetector.cpp b/arucoDetector.cpp index c854f67..1635922 100644 --- a/arucoDetector.cpp +++ b/arucoDetector.cpp @@ -5,9 +5,19 @@ #include #include #include +#include + +std::atomic shouldStop = false; + +void signalHandler( int signum ) { + shouldStop = true; +} + int main(int argc, char *argv[]) { + signal(SIGINT, signalHandler); + signal(SIGTERM, signalHandler); // Settup argument parser bool headless = false; @@ -101,7 +111,7 @@ int main(int argc, char *argv[]) } } - if (client.shouldStop() || stopRequested) + if (client.shouldStop() || stopRequested || shouldStop) { break; }