chiark / gitweb /
[PATCH] udevd - allow to bypass sequence number
[elogind.git] / udevsend.c
index 6af9df77040a386c39a93ddf1245235efd517eda..9dc2b2e841bb635cd3a30dc284e25224938b9f90 100644 (file)
  */
 
 #include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <sys/un.h>
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <time.h>
-#include <wait.h>
-#include <sys/socket.h>
-#include <sys/un.h>
 
 #include "udev.h"
 #include "udev_version.h"
@@ -127,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) {
@@ -148,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) {
@@ -165,7 +164,7 @@ int main(int argc, char* argv[])
        strcpy(saddr.sun_path, UDEVD_SOCK);
 
        /* try to connect, if it fails start daemon */
-       retval = connect(sock, &saddr, sizeof(saddr));
+       retval = connect(sock, (struct sockaddr *) &saddr, sizeof(saddr));
        if (retval != -1) {
                goto send;
        } else {
@@ -184,7 +183,7 @@ int main(int argc, char* argv[])
        tspec.tv_nsec = 100000000;  /* 100 millisec */
        loop = UDEVSEND_CONNECT_RETRY;
        while (loop--) {
-               retval = connect(sock, &saddr, sizeof(saddr));
+               retval = connect(sock, (struct sockaddr *) &saddr, sizeof(saddr));
                if (retval != -1)
                        goto send;
                else