chiark / gitweb /
libudev: ctrl, monitor - use SOCK_NONBLOCK
authorKay Sievers <kay.sievers@vrfy.org>
Thu, 14 Apr 2011 23:14:10 +0000 (01:14 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Thu, 14 Apr 2011 23:14:10 +0000 (01:14 +0200)
NEWS
libudev/libudev-ctrl.c
libudev/libudev-monitor.c

diff --git a/NEWS b/NEWS
index ccbaa46..afec73c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ udevadm control --exit
 udevadm info --cleanup-db
 
 systemd netlink socket activation
+stop socket or mask on rpm update
 requires systemd 25
 
 udev 167
index 7fa2d1d..a2133ff 100644 (file)
@@ -91,7 +91,7 @@ struct udev_ctrl *udev_ctrl_new_from_socket_fd(struct udev *udev, const char *so
                return NULL;
 
        if (fd < 0) {
-               uctrl->sock = socket(AF_LOCAL, SOCK_SEQPACKET|SOCK_CLOEXEC, 0);
+               uctrl->sock = socket(AF_LOCAL, SOCK_SEQPACKET|SOCK_NONBLOCK|SOCK_CLOEXEC, 0);
                if (uctrl->sock < 0) {
                        err(udev, "error getting socket: %m\n");
                        udev_ctrl_unref(uctrl);
index 5d9e155..d890b4b 100644 (file)
@@ -145,7 +145,7 @@ struct udev_monitor *udev_monitor_new_from_socket(struct udev *udev, const char
                util_strscpy(&udev_monitor->sun.sun_path[1], sizeof(udev_monitor->sun.sun_path)-1, socket_path);
                udev_monitor->addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(socket_path)+1;
        }
-       udev_monitor->sock = socket(AF_LOCAL, SOCK_DGRAM|SOCK_CLOEXEC, 0);
+       udev_monitor->sock = socket(AF_LOCAL, SOCK_DGRAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0);
        if (udev_monitor->sock == -1) {
                err(udev, "error getting socket: %m\n");
                free(udev_monitor);