summaryrefslogtreecommitdiff
path: root/src/udev/udevd.c
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2014-11-13 13:50:01 +0100
committerKay Sievers <kay@vrfy.org>2014-11-13 13:50:01 +0100
commit41b848b0ea674dba135d5d5f82b87d126d967fcf (patch)
treeefae88229c6d8a0b7a0f7350bd9035e7876001ed /src/udev/udevd.c
parent25e773eeb4f853804e1bf0dbd9a184f23e9b2a97 (diff)
udev: move global property handling from libudev to udevd
Diffstat (limited to 'src/udev/udevd.c')
-rw-r--r--src/udev/udevd.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index e03297de5b..6335b6c75a 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -54,12 +54,6 @@
#include "dev-setup.h"
#include "fileio.h"
-void udev_main_log(struct udev *udev, int priority,
- const char *file, int line, const char *fn,
- const char *format, va_list args) {
- log_metav(priority, file, line, fn, format, args);
-}
-
static struct udev_rules *rules;
static struct udev_ctrl *udev_ctrl;
static struct udev_monitor *monitor;
@@ -82,6 +76,7 @@ static UDEV_LIST(event_list);
static UDEV_LIST(worker_list);
static char *udev_cgroup;
static bool udev_exit;
+static struct udev_list properties_list;
enum event_state {
EVENT_UNDEF,
@@ -676,10 +671,10 @@ static struct udev_ctrl_connection *handle_ctrl_msg(struct udev_ctrl *uctrl) {
val = &val[1];
if (val[0] == '\0') {
log_debug("udevd message (ENV) received, unset '%s'", key);
- udev_add_property(udev, key, NULL);
+ udev_list_entry_add(&properties_list, key, NULL);
} else {
log_debug("udevd message (ENV) received, set '%s=%s'", key, val);
- udev_add_property(udev, key, val);
+ udev_list_entry_add(&properties_list, key, val);
}
} else {
log_error("wrong key format '%s'", key);
@@ -1147,6 +1142,8 @@ int main(int argc, char *argv[]) {
umask(022);
+ udev_list_init(udev, &properties_list, true);
+
r = mkdir("/run/udev", 0755);
if (r < 0 && errno != EEXIST) {
log_error("could not create /run/udev: %m");
@@ -1535,6 +1532,7 @@ exit_daemonize:
udev_monitor_unref(monitor);
udev_ctrl_connection_unref(ctrl_conn);
udev_ctrl_unref(udev_ctrl);
+ udev_list_cleanup(&properties_list);
mac_selinux_finish();
udev_unref(udev);
log_close();