]> git.ozlabs.org Git - petitboot/blobdiff - discover/pb-discover.c
Remove discover sd to ps3d hack
[petitboot] / discover / pb-discover.c
index 024cb303fb9f6da4dfb4dd0204c59d12425a213a..d7ea0caec4ee74a2e3ddbe3a47956174c7f330ed 100644 (file)
@@ -1,16 +1,19 @@
 
+#include <assert.h>
 #include <stdlib.h>
 #include <signal.h>
 
+#include <waiter/waiter.h>
+#include <log/log.h>
+
 #include "udev.h"
+#include "user-event.h"
 #include "discover-server.h"
 #include "device-handler.h"
-#include "waiter.h"
-#include "log.h"
 
 static int running;
 
-void sigint_handler(int signum)
+static void sigint_handler(int __attribute__((unused)) signum)
 {
        running = 0;
 }
@@ -20,6 +23,17 @@ int main(void)
        struct device_handler *handler;
        struct discover_server *server;
        struct udev *udev;
+       struct user_event *uev;
+       FILE *log;
+
+       log = fopen("pb-discover.log", "a");
+       assert(log);
+       pb_log_set_stream(log);
+
+#if defined(DEBUG)
+       pb_log_always_flush(1);
+#endif
+       pb_log("--- pb-discover ---\n");
 
        /* we look for closed sockets when we write, so ignore SIGPIPE */
        signal(SIGPIPE, SIG_IGN);
@@ -40,6 +54,13 @@ int main(void)
        if (!udev)
                return EXIT_FAILURE;
 
+       uev = user_event_init(handler);
+       if (!uev)
+               return EXIT_FAILURE;
+
+       udev_trigger(udev);
+       user_event_trigger(uev);
+
        for (running = 1; running;) {
                if (waiter_poll())
                        break;
@@ -47,6 +68,7 @@ int main(void)
 
        device_handler_destroy(handler);
 
+       pb_log("--- end ---\n");
 
        return EXIT_SUCCESS;
 }