udev: do not skip the execution of RUN when renaming a network device fails

(cherry picked from commit 1ea972174b)
(cherry picked from commit 59c91436bb)
This commit is contained in:
Kay Sievers
2014-06-17 10:09:37 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent 040f67302c
commit d0174817bf
3 changed files with 9 additions and 14 deletions
+1 -2
View File
@@ -157,8 +157,7 @@ int main(int argc, char *argv[])
}
err = udev_event_execute_rules(event, rules, &sigmask_orig);
if (err == 0)
udev_event_execute_run(event, NULL);
udev_event_execute_run(event, NULL);
out:
if (event != NULL && event->fd_signal >= 0)
close(event->fd_signal);
+5 -8
View File
@@ -42,7 +42,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
struct udev_rules *rules = NULL;
struct udev_list_entry *entry;
sigset_t mask, sigmask_orig;
int err;
int rc = 0;
static const struct option options[] = {
@@ -141,18 +140,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
goto out;
}
err = udev_event_execute_rules(event, rules, &sigmask_orig);
udev_event_execute_rules(event, rules, &sigmask_orig);
udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
if (err == 0) {
udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
char program[UTIL_PATH_SIZE];
udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
char program[UTIL_PATH_SIZE];
udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
printf("run: '%s'\n", program);
}
udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
printf("run: '%s'\n", program);
}
out:
if (event != NULL && event->fd_signal >= 0)
+3 -4
View File
@@ -288,13 +288,12 @@ static void worker_new(struct event *event)
udev_event->exec_delay = exec_delay;
/* apply rules, create node, symlinks */
err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
udev_event_execute_rules(udev_event, rules, &sigmask_orig);
if (err == 0)
udev_event_execute_run(udev_event, &sigmask_orig);
udev_event_execute_run(udev_event, &sigmask_orig);
/* apply/restore inotify watch */
if (err == 0 && udev_event->inotify_watch) {
if (udev_event->inotify_watch) {
udev_watch_begin(udev, dev);
udev_device_update_db(dev);
}