===== udevd.c 1.15 vs edited ===== --- 1.15/udevd.c Fri Feb 6 13:02:10 2004 +++ edited/udevd.c Sat Feb 7 10:49:54 2004 @@ -279,6 +279,7 @@ struct sockaddr_un saddr; socklen_t addrlen; int retval; + struct sigaction act; init_logging("udevd"); @@ -288,8 +289,12 @@ signal(SIGCHLD, sig_handler); /* we want these two to interrupt system calls */ - siginterrupt(SIGALRM, 1); - siginterrupt(SIGCHLD, 1); + sigaction(SIGALRM, NULL, &act); + act.sa_flags &= ~SA_RESTART; + sigaction(SIGALRM, &act, NULL); + sigaction(SIGCHLD, NULL, &act); + act.sa_flags &= ~SA_RESTART; + sigaction(SIGCHLD, &act, NULL); memset(&saddr, 0x00, sizeof(saddr)); saddr.sun_family = AF_LOCAL; @@ -304,7 +309,7 @@ } /* the bind takes care of ensuring only one copy running */ - retval = bind(ssock, &saddr, addrlen); + retval = bind(ssock, (struct sockaddr *) &saddr, addrlen); if (retval < 0) { dbg("bind failed\n"); goto exit; ===== udevsend.c 1.18 vs edited ===== --- 1.18/udevsend.c Fri Feb 6 11:54:08 2004 +++ edited/udevsend.c Sat Feb 7 10:41:13 2004 @@ -174,7 +174,7 @@ /* If we can't send, try to start daemon and resend message */ loop = UDEVSEND_CONNECT_RETRY; while (loop--) { - retval = sendto(sock, &message, size, 0, (struct sockaddr*)&saddr, addrlen); + retval = sendto(sock, &message, size, 0, (struct sockaddr *)&saddr, addrlen); if (retval != -1) { retval = 0; goto close_and_exit;