chiark / gitweb /
[PATCH] fix incompatible pointer type warning
[elogind.git] / udevd.c
diff --git a/udevd.c b/udevd.c
index 2bcb4a9e1ec4fd7d8b3cc525b4e8534d71274702..380511d47eb24380d12812a141fe1cf2fc4c5345 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"
@@ -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);
@@ -477,6 +478,8 @@ int main(int argc, char *argv[])
                exit(1);
        }
 
+       set_cloexec_flag(ssock, 1);
+
        /* the bind takes care of ensuring only one copy running */
        retval = bind(ssock, (struct sockaddr *) &saddr, addrlen);
        if (retval < 0) {