1 diff -urN a/src/udev-ctrl.c b/src/udev-ctrl.c
2 --- a/src/udev-ctrl.c 2011-10-09 17:10:32.000000000 -0600
3 +++ b/src/udev-ctrl.c 2011-10-25 15:11:09.000000000 -0600
11 #include <sys/socket.h>
18 conn = calloc(1, sizeof(struct udev_ctrl_connection));
24 - conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
25 + //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
26 + conn->sock = accept(uctrl->sock, NULL, NULL);
29 err(uctrl->udev, "unable to receive ctrl connection: %m\n");
33 + // Since we don't have accept4
34 + flgs = fcntl(conn->sock, F_GETFL, NULL);
35 + if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
36 + fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
38 /* check peer credential of connection */
40 if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {