diff --git a/example/client.example.cpp b/example/client.example.cpp index af28b9d..c2b14b0 100644 --- a/example/client.example.cpp +++ b/example/client.example.cpp @@ -2,8 +2,18 @@ #include #include #include +#include +#include +#include + +std::atomic running(true); + +void signalHandler(int signal) { + running = false; +} int main(int argc, char* argv[]) { + signal(SIGINT, signalHandler); CLParser parser(argc, argv); @@ -15,7 +25,7 @@ int main(int argc, char* argv[]) { client.start(); - while (!client.shouldStop()) { + while (!client.shouldStop() && !running) { if (loggerMode) { usleep(500'000); } else {