chiark / gitweb /
udevd: log warning if /run is not writable
[elogind.git] / udev / udevd.c
index c785b2075774b12a8ccd443bf3d46799bc9781cb..051e8fe527b21e0c4f92983c9156070941489744 100644 (file)
@@ -744,9 +744,11 @@ static int handle_inotify(struct udev *udev)
                                info(udev, "device %s closed, synthesising 'change'\n", udev_device_get_devnode(dev));
                                util_strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
                                fd = open(filename, O_WRONLY);
-                               if (fd < 0 || write(fd, "change", 6) < 0)
-                                       info(udev, "error writing uevent: %m\n");
-                               close(fd);
+                               if (fd >= 0) {
+                                       if (write(fd, "change", 6) < 0)
+                                               info(udev, "error writing uevent: %m\n");
+                                       close(fd);
+                               }
                        }
                        if (ev->mask & IN_IGNORED)
                                udev_watch_end(udev, dev);
@@ -1151,6 +1153,8 @@ int main(int argc, char *argv[])
                        if (udev_set_run_path(udev, filename) == NULL)
                                goto exit;
                        mkdir(udev_get_run_path(udev), 0755);
+                       err(udev, "error: runtime directory '%s' not writable, for now falling back to '%s'",
+                           udev_get_run_config_path(udev), udev_get_run_path(udev));
                }
        }
        /* relabel runtime dir only if it resides below /dev */