diff --git a/sbin/devd/devd.cc b/sbin/devd/devd.cc index 9101ecf05571..ad3ef4389505 100644 --- a/sbin/devd/devd.cc +++ b/sbin/devd/devd.cc @@ -672,11 +672,13 @@ create_socket(const char *name) strlcpy(sun.sun_path, name, sizeof(sun.sun_path)); slen = SUN_LEN(&sun); unlink(name); + if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0) + err(1, "fcntl"); if (bind(fd, (struct sockaddr *) & sun, slen) < 0) err(1, "bind"); listen(fd, 4); chown(name, 0, 0); /* XXX - root.wheel */ - chmod(name, 0660); + chmod(name, 0666); return (fd); }