X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fudevd.c;h=1bb15d8c9e6c5eda92b986f2f05093e8abd2bd84;hb=8f0e73f250f4a397ea07d29a339bd7e64d077612;hp=393e2a920c889f491b6f31ece0f10ddb29b46f7e;hpb=ef8a2bf6484bb0f82248ceb10a55509a93d82c6b;p=elogind.git diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 393e2a920..1bb15d8c9 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -807,7 +807,7 @@ static void static_dev_create_from_modules(struct udev *udev) uname(&kernel); util_strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); - f = fopen(modules, "r"); + f = fopen(modules, "re"); if (f == NULL) return; @@ -871,7 +871,7 @@ static int mem_size_mb(void) char buf[4096]; long int memsize = -1; - f = fopen("/proc/meminfo", "r"); + f = fopen("/proc/meminfo", "re"); if (f == NULL) return -1; @@ -891,7 +891,6 @@ static int mem_size_mb(void) static int convert_db(struct udev *udev) { char filename[UTIL_PATH_SIZE]; - FILE *f; struct udev_enumerate *udev_enumerate; struct udev_list_entry *list_entry; @@ -907,11 +906,7 @@ static int convert_db(struct udev *udev) if (access(filename, F_OK) < 0) return 0; - f = fopen("/dev/kmsg", "w"); - if (f != NULL) { - fprintf(f, "<30>systemd-udevd[%u]: converting old udev database\n", getpid()); - fclose(f); - } + print_kmsg("converting old udev database\n"); udev_enumerate = udev_enumerate_new(udev); if (udev_enumerate == NULL) @@ -1040,14 +1035,17 @@ static void kernel_cmdline_options(struct udev *udev) else opt = s; - if (startswith(opt, "udev.log-priority=")) - udev_set_log_priority(udev, util_log_priority(opt + 18)); + if (startswith(opt, "udev.log-priority=")) { + int prio; - if (startswith(opt, "udev.children-max=")) + prio = util_log_priority(opt + 18); + log_set_max_level(prio); + udev_set_log_priority(udev, prio); + } else if (startswith(opt, "udev.children-max=")) { children_max = strtoul(opt + 18, NULL, 0); - - if (startswith(opt, "udev.exec-delay=")) + } else if (startswith(opt, "udev.exec-delay=")) { exec_delay = strtoul(opt + 16, NULL, 0); + } free(s); } @@ -1058,7 +1056,6 @@ static void kernel_cmdline_options(struct udev *udev) int main(int argc, char *argv[]) { struct udev *udev; - FILE *f; sigset_t mask; int daemonize = false; int resolve_names = 1; @@ -1083,8 +1080,9 @@ int main(int argc, char *argv[]) if (udev == NULL) goto exit; - log_open(); + log_set_target(LOG_TARGET_AUTO); log_parse_environment(); + log_open(); udev_set_log_fn(udev, udev_main_log); log_debug("version %s\n", VERSION); label_init("/dev"); @@ -1109,7 +1107,7 @@ int main(int argc, char *argv[]) case 'D': debug = true; log_set_max_level(LOG_DEBUG); - udev_set_log_priority(udev, LOG_INFO); + udev_set_log_priority(udev, LOG_DEBUG); break; case 'N': if (strcmp (optarg, "early") == 0) { @@ -1157,7 +1155,7 @@ int main(int argc, char *argv[]) mkdir("/run/udev", 0755); - dev_setup(); + dev_setup(""); static_dev_create_from_modules(udev); /* before opening new files, make sure std{in,out,err} fds are in a sane state */ @@ -1264,11 +1262,7 @@ int main(int argc, char *argv[]) sd_notify(1, "READY=1"); } - f = fopen("/dev/kmsg", "w"); - if (f != NULL) { - fprintf(f, "<30>systemd-udevd[%u]: starting version " VERSION "\n", getpid()); - fclose(f); - } + print_kmsg("starting version " VERSION "\n"); if (!debug) { int fd; @@ -1492,7 +1486,7 @@ int main(int argc, char *argv[]) worker_kill(udev); rules = udev_rules_unref(rules); udev_builtin_exit(udev); - reload = 0; + reload = false; } /* event has finished */ @@ -1512,6 +1506,7 @@ int main(int argc, char *argv[]) /* start new events */ if (!udev_list_node_is_empty(&event_list) && !udev_exit && !stop_exec_queue) { + udev_builtin_init(udev); if (rules == NULL) rules = udev_rules_new(udev, resolve_names); if (rules != NULL)