udev_list_init(udev, &event->run_list, false);
event->fd_signal = -1;
event->birth_usec = now_usec();
- event->timeout_usec = 60 * 1000 * 1000;
+ event->timeout_usec = 30 * 1000 * 1000;
dbg(event->udev, "allocated event %p\n", event);
return event;
}
if (udev_device_get_devnode(dev) != NULL)
l = util_strpcpy(&s, l, udev_device_get_devnode(dev));
break;
- case SUBST_NAME:
+ case SUBST_NAME: {
if (event->name != NULL) {
l = util_strpcpy(&s, l, event->name);
- dbg(event->udev, "substitute name '%s'\n", event->name);
+ dbg(event->udev, "substitute custom node name '%s'\n", event->name);
+ } else if (udev_device_get_devnode(dev) != NULL) {
+ size_t devlen = strlen(udev_get_dev_path(event->udev))+1;
+
+ l = util_strpcpy(&s, l, &udev_device_get_devnode(dev)[devlen]);
+ dbg(event->udev, "substitute node name'%s'\n", &udev_device_get_devnode(dev)[devlen]);
} else {
l = util_strpcpy(&s, l, udev_device_get_sysname(dev));
- dbg(event->udev, "substitute sysname '%s'\n", udev_device_get_sysname(dev));
+ dbg(event->udev, "substitute device name'%s'\n", udev_device_get_sysname(dev));
}
break;
+ }
case SUBST_LINKS: {
size_t devlen = strlen(udev_get_dev_path(event->udev))+1;
struct udev_list_entry *list_entry;
udev_rules_apply_to_event(rules, event, sigmask);
if (major(udev_device_get_devnum(dev)) != 0)
- err = udev_node_remove(dev);
+ udev_node_remove(dev);
} else {
event->dev_db = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev));
if (event->dev_db != NULL) {
}
}
- if (major(udev_device_get_devnum(dev)) != 0) {
+ if (major(udev_device_get_devnum(dev)) > 0) {
/* remove/update possible left-over symlinks from old database entry */
if (event->dev_db != NULL)
udev_node_update_old_links(dev, event->dev_db);
}
}
- err = udev_node_add(dev, event->mode, event->uid, event->gid);
+ udev_node_add(dev, event->mode, event->uid, event->gid);
}
/* preserve old, or get new initialization timestamp */