#include "waiter.h"
#include "log.h"
+static int running;
+
+void sigint_handler(int signum)
+{
+ running = 0;
+}
+
int main(void)
{
struct device_handler *handler;
/* we look for closed sockets when we write, so ignore SIGPIPE */
signal(SIGPIPE, SIG_IGN);
+ signal(SIGINT, sigint_handler);
+
server = discover_server_init();
if (!server)
return EXIT_FAILURE;
if (!udev)
return EXIT_FAILURE;
- for (;;) {
+ for (running = 1; running;) {
if (waiter_poll())
- return EXIT_FAILURE;
+ break;
}
+ device_handler_destroy(handler);
+
return EXIT_SUCCESS;
}