summaryrefslogtreecommitdiff
path: root/src/udev/udev-rules.h
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-07-13 11:52:37 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-07-23 15:05:22 +0900
commite9d1fae3bbf4e4ee6a5416f8ed0e498f034f4d98 (patch)
treec4f6a22e2b256585dc1cf6fc9f643a61c3a999b7 /src/udev/udev-rules.h
parentacfbd71ccc3c316c335accfb872937cbf9d3dde3 (diff)
downloadsystemd-e9d1fae3bbf4e4ee6a5416f8ed0e498f034f4d98.tar.gz
udev: reload rules and builtins only when mtime of a config changed
This makes udevd reload rules only when the timestamp is updated, even on SIGHUP or `udevadm control --reload`. So, we can call `udevadm control --reload` without huge performance penalty when no rules, .link files, and so on are changed.
Diffstat (limited to 'src/udev/udev-rules.h')
-rw-r--r--src/udev/udev-rules.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/udev/udev-rules.h b/src/udev/udev-rules.h
index 704f690b67..860fe7c8e4 100644
--- a/src/udev/udev-rules.h
+++ b/src/udev/udev-rules.h
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
+#include "alloc-util.h"
#include "hashmap.h"
#include "time-util.h"
#include "udev-util.h"
@@ -21,6 +22,7 @@ UdevRules* udev_rules_new(ResolveNameTiming resolve_name_timing);
int udev_rules_load(UdevRules **ret_rules, ResolveNameTiming resolve_name_timing);
UdevRules *udev_rules_free(UdevRules *rules);
DEFINE_TRIVIAL_CLEANUP_FUNC(UdevRules*, udev_rules_free);
+#define udev_rules_free_and_replace(a, b) free_and_replace_full(a, b, udev_rules_free)
bool udev_rules_should_reload(UdevRules *rules);
int udev_rules_apply_to_event(UdevRules *rules, UdevEvent *event,