chiark / gitweb /
[PATCH] udevd - switch socket path to abstract namespace
[elogind.git] / udevsend.c
index fd61cb2a2ff989c72c142cf85cbd18b889548ebb..223647785d73a17af57fbf0b3481550e35e95dcc 100644 (file)
@@ -125,7 +125,9 @@ int main(int argc, char* argv[])
        int sock;
        struct sockaddr_un saddr;
 
+#ifdef DEBUG
        init_logging("udevsend");
+#endif
 
        subsystem = argv[1];
        if (subsystem == NULL) {
@@ -146,11 +148,10 @@ int main(int argc, char* argv[])
        }
 
        seqnum = get_seqnum();
-       if (seqnum == NULL) {
-               dbg("no seqnum");
-               goto exit;
-       }
-       seq = atoi(seqnum);
+       if (seqnum == NULL)
+               seq = 0;
+       else
+               seq = atoi(seqnum);
 
        sock = socket(AF_LOCAL, SOCK_STREAM, 0);
        if (sock == -1) {
@@ -160,7 +161,8 @@ int main(int argc, char* argv[])
 
        memset(&saddr, 0x00, sizeof(saddr));
        saddr.sun_family = AF_LOCAL;
-       strcpy(saddr.sun_path, UDEVD_SOCK);
+       /* use abstract namespace for socket path */
+       strcpy(&saddr.sun_path[1], UDEVD_SOCK_PATH);
 
        /* try to connect, if it fails start daemon */
        retval = connect(sock, (struct sockaddr *) &saddr, sizeof(saddr));