chiark / gitweb /
udevd: create /dev/.udev/rules.d/ before watching it wit inotify
[elogind.git] / udev / udev-event.c
index 8183793e5f4536824b3fd62fc0b0f207daf0a275..d5b4d0941e295f1d1a18fb97a879a7b04a00edc2 100644 (file)
@@ -492,8 +492,7 @@ static int rename_netif(struct udev_event *event)
                }
 
                /* free our own name, another process may wait for us */
-               util_strscpy(ifr.ifr_newname, IFNAMSIZ, udev_device_get_sysname(dev));
-               util_strscpy(ifr.ifr_newname, IFNAMSIZ, "_rename");
+               util_strscpyl(ifr.ifr_newname, IFNAMSIZ, udev_device_get_sysname(dev), "_rename", NULL);
                err = ioctl(sk, SIOCSIFNAME, &ifr);
                if (err != 0) {
                        err(event->udev, "error changing netif name %s to %s: %m\n",
@@ -688,9 +687,9 @@ exit_add:
                        char devnode[UTIL_PATH_SIZE];
 
                        info(event->udev, "'%s' not found in database, using kernel name '%s'\n",
-                            udev_device_get_syspath(dev), udev_device_get_sysname(dev));
+                            udev_device_get_syspath(dev), udev_device_get_knodename(dev));
                        util_strscpyl(devnode, sizeof(devnode),
-                                     udev_get_dev_path(event->udev), "/", udev_device_get_sysname(dev), NULL);
+                                     udev_get_dev_path(event->udev), "/", udev_device_get_knodename(dev), NULL);
                        udev_device_set_devnode(dev, devnode);
                }
 
@@ -722,7 +721,7 @@ exit:
        return err;
 }
 
-int udev_event_execute_run(struct udev_event *event)
+int udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
 {
        struct udev_list_entry *list_entry;
        int err = 0;
@@ -745,7 +744,7 @@ int udev_event_execute_run(struct udev_event *event)
 
                        udev_event_apply_format(event, cmd, program, sizeof(program));
                        envp = udev_device_get_properties_envp(event->dev);
-                       if (util_run_program(event->udev, program, envp, NULL, 0, NULL) != 0) {
+                       if (util_run_program(event->udev, program, envp, NULL, 0, NULL, sigmask) != 0) {
                                if (udev_list_entry_get_flag(list_entry))
                                        err = -1;
                        }