chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
do not stop rule processing when device node is no longer around
[elogind.git]
/
src
/
udev-event.c
diff --git
a/src/udev-event.c
b/src/udev-event.c
index 0b6db30edad4f56d0a5471e0abe06a671a242d25..45dd77ba2edbaef83457f6747527a08c626132bf 100644
(file)
--- a/
src/udev-event.c
+++ b/
src/udev-event.c
@@
-349,12
+349,15
@@
subst:
case SUBST_NAME: {
if (event->name != NULL) {
l = util_strpcpy(&s, l, event->name);
case SUBST_NAME: {
if (event->name != NULL) {
l = util_strpcpy(&s, l, event->name);
- dbg(event->udev, "substitute custom name '%s'\n", event->name);
- } else {
+ dbg(event->udev, "substitute custom n
ode n
ame '%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]);
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 name'%s'\n", &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 device name'%s'\n", udev_device_get_sysname(dev));
}
break;
}
}
break;
}
@@
-891,7
+894,7
@@
int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
udev_rules_apply_to_event(rules, event, sigmask);
if (major(udev_device_get_devnum(dev)) != 0)
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) {
} else {
event->dev_db = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev));
if (event->dev_db != NULL) {
@@
-949,7
+952,7
@@
int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
}
}
}
}
-
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 */
}
/* preserve old, or get new initialization timestamp */