]> git.ozlabs.org Git - petitboot/blobdiff - discover/pb-discover.c
Make device instance constant
[petitboot] / discover / pb-discover.c
index d2ea7ae1e7b075691e708d4b72f8d94a6557050a..d8709b3974693f8657a61709e032486ec2ead08e 100644 (file)
@@ -2,11 +2,19 @@
 #include <stdlib.h>
 #include <signal.h>
 
+#include <waiter/waiter.h>
+#include <log/log.h>
+
 #include "udev.h"
 #include "discover-server.h"
 #include "device-handler.h"
-#include "waiter.h"
-#include "log.h"
+
+static int running;
+
+static void sigint_handler(int __attribute__((unused)) signum)
+{
+       running = 0;
+}
 
 int main(void)
 {
@@ -17,6 +25,8 @@ int main(void)
        /* 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;
@@ -31,11 +41,13 @@ int main(void)
        if (!udev)
                return EXIT_FAILURE;
 
-       for (;;) {
+       for (running = 1; running;) {
                if (waiter_poll())
-                       return EXIT_FAILURE;
+                       break;
        }
 
+       device_handler_destroy(handler);
+
 
        return EXIT_SUCCESS;
 }