FILE *f;
uname(&kernel);
- util_strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL);
- f = fopen(modules, "r");
+ util_strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
+ f = fopen(modules, "re");
if (f == NULL)
return;
if (sscanf(devno, "%c%u:%u", &type, &maj, &min) != 3)
continue;
+ mode = 0600;
if (type == 'c')
- mode = S_IFCHR;
+ mode |= S_IFCHR;
else if (type == 'b')
- mode = S_IFBLK;
+ mode |= S_IFBLK;
else
continue;
char buf[4096];
long int memsize = -1;
- f = fopen("/proc/meminfo", "r");
+ f = fopen("/proc/meminfo", "re");
if (f == NULL)
return -1;
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;
return 0;
/* make sure we do not get here again */
- mkdir_parents("/run/udev/data", 0755);
- mkdir(filename, 0755);
+ mkdir_p("/run/udev/data", 0755);
/* old database */
util_strscpyl(filename, sizeof(filename), "/dev/.udev/db", NULL);
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)
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);
}
int main(int argc, char *argv[])
{
struct udev *udev;
- FILE *f;
sigset_t mask;
int daemonize = false;
int resolve_names = 1;
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");
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) {
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;
worker_kill(udev);
rules = udev_rules_unref(rules);
udev_builtin_exit(udev);
- reload = 0;
+ reload = false;
}
/* event has finished */
/* 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)