chiark / gitweb /
[PATCH] remove udev_lib dependency from udevsend, which makes it smaller
[elogind.git] / udevsend.c
index 7db2378b83b16afc9bda5e8a91cd56b52a721924..9f324077b3b92ee6d3e67f53363ff28566193099 100644 (file)
@@ -41,6 +41,9 @@
 #include "udevd.h"
 #include "logging.h"
 
+/* global variables */
+static int sock = -1;
+
 #ifdef LOG
 unsigned char logname[LOGNAME_SIZE];
 void log_message (int level, const char *format, ...)
@@ -66,8 +69,7 @@ static int start_daemon(void)
                switch (child_pid) {
                case 0:
                        /* daemon */
-                       setsid();
-                       chdir("/");
+                       close(sock);
                        execl(UDEVD_BIN, "udevd", NULL);
                        dbg("exec of daemon failed");
                        _exit(1);
@@ -119,7 +121,6 @@ int main(int argc, char *argv[], char *envp[])
        int subsystem_env = 0;
        int bufpos = 0;
        int retval = 1;
-       int sock = -1;
        int started_daemon = 0;
 
        logging_init("udevsend");
@@ -137,8 +138,6 @@ int main(int argc, char *argv[], char *envp[])
                goto fallback;
        }
 
-       set_cloexec_flag(sock, 1);
-
        memset(&saddr, 0x00, sizeof(struct sockaddr_un));
        saddr.sun_family = AF_LOCAL;
        /* use abstract namespace for socket path */