chiark / gitweb /
[PATCH] $local user
[elogind.git] / udevd.c
diff --git a/udevd.c b/udevd.c
index 81f4474a89b6bc7df5ddd834cff3180d0cb12bdf..421c25a6e8df7fcdf8eb9ba31e0730bd1ba9f06a 100644 (file)
--- a/udevd.c
+++ b/udevd.c
@@ -35,6 +35,7 @@
 #include <fcntl.h>
 #include "klibc_fixups.h"
 #include <sys/sysinfo.h>
+#include <sys/stat.h>
 
 #include "list.h"
 #include "udev.h"
@@ -149,7 +150,7 @@ static void udev_run(struct hotplug_msg *msg)
                /* child */
                execle(udev_bin, "udev", msg->subsystem, NULL, env);
                dbg("exec of child failed");
-               exit(1);
+               _exit(1);
                break;
        case -1:
                dbg("fork of child failed");
@@ -308,7 +309,7 @@ skip:
        return;
 }
 
-asmlinkage static void sig_handler(int signum)
+static void asmlinkage sig_handler(int signum)
 {
        int rc;
 
@@ -402,7 +403,7 @@ int main(int argc, char *argv[])
        struct sigaction act;
        fd_set readfds;
 
-       init_logging("udevd");
+       logging_init("udevd");
        dbg("version %s", UDEV_VERSION);
 
        if (getuid() != 0) {
@@ -457,7 +458,7 @@ int main(int argc, char *argv[])
 
        
        /* set signal handlers */
-       act.sa_handler = sig_handler;
+       act.sa_handler = (void (*) (int))sig_handler;
        sigemptyset(&act.sa_mask);
        act.sa_flags = SA_RESTART;
        sigaction(SIGINT, &act, NULL);
@@ -548,5 +549,6 @@ int main(int argc, char *argv[])
        }
 exit:
        close(ssock);
+       logging_close();
        exit(1);
 }