]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev-event: rename udev_event_unref() to udev_event_free()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 24 Oct 2018 22:04:59 +0000 (07:04 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 26 Oct 2018 22:03:39 +0000 (07:03 +0900)
As struct udev_event does not have a reference counter.

src/test/test-udev.c
src/udev/udev-event.c
src/udev/udev.h
src/udev/udevadm-test.c
src/udev/udevd.c

index 2c67e13833a5ee868744113c73a718e788ca43da..1285117c32ba15951435ba9fc035673991668a0f 100644 (file)
@@ -52,7 +52,7 @@ static int fake_filesystems(void) {
 }
 
 int main(int argc, char *argv[]) {
-        _cleanup_(udev_event_unrefp) struct udev_event *event = NULL;
+        _cleanup_(udev_event_freep) struct udev_event *event = NULL;
         _cleanup_(udev_device_unrefp) struct udev_device *dev = NULL;
         _cleanup_(udev_rules_unrefp) struct udev_rules *rules = NULL;
         const char *devpath, *action;
index 4dcfe87cff08c326b21c527115a641658ed60b18..e29486fe182820f32f1571f703c839bcb0d229ac 100644 (file)
@@ -58,11 +58,12 @@ struct udev_event *udev_event_new(struct udev_device *dev) {
         return event;
 }
 
-void udev_event_unref(struct udev_event *event) {
+struct udev_event *udev_event_free(struct udev_event *event) {
         void *p;
 
-        if (event == NULL)
-                return;
+        if (!event)
+                return NULL;
+
         sd_netlink_unref(event->rtnl);
         while ((p = hashmap_steal_first_key(event->run_list)))
                 free(p);
@@ -70,7 +71,8 @@ void udev_event_unref(struct udev_event *event) {
         hashmap_free_free_free(event->seclabel_list);
         free(event->program_result);
         free(event->name);
-        free(event);
+
+        return mfree(event);
 }
 
 enum subst_type {
index c9250edd9a76063e131909918df23f65aa95f795..ec1662d70047b4be53b426d9ca80438c220c6a54 100644 (file)
@@ -61,7 +61,7 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules);
 
 /* udev-event.c */
 struct udev_event *udev_event_new(struct udev_device *dev);
-void udev_event_unref(struct udev_event *event);
+struct udev_event *udev_event_free(struct udev_event *event);
 size_t udev_event_apply_format(struct udev_event *event,
                                const char *src, char *dest, size_t size,
                                bool replace_whitespace);
@@ -79,5 +79,5 @@ void udev_event_execute_rules(struct udev_event *event,
 void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec);
 
 /* Cleanup functions */
-DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_free);
 DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref);
index ea6471b837bbebfe2e89a8e6fa2b50ed40f65a87..20f713d738d55773b46fcecb07aeaf65239843dd 100644 (file)
@@ -89,7 +89,7 @@ static int parse_argv(int argc, char *argv[]) {
 int test_main(int argc, char *argv[], void *userdata) {
         _cleanup_(udev_rules_unrefp) struct udev_rules *rules = NULL;
         _cleanup_(udev_device_unrefp) struct udev_device *dev = NULL;
-        _cleanup_(udev_event_unrefp) struct udev_event *event = NULL;
+        _cleanup_(udev_event_freep) struct udev_event *event = NULL;
         struct udev_list_entry *entry;
         sigset_t mask, sigmask_orig;
         const char *cmd;
index 64f7f1ff2d55b548a357822a41e55baefbdbfa9d..7ec30b92c37a94f231c3eb785fff81488e4a4b4e 100644 (file)
@@ -398,7 +398,7 @@ static void worker_spawn(Manager *manager, struct event *event) {
                 write_string_file("/proc/self/oom_score_adj", "0", 0);
 
                 for (;;) {
-                        struct udev_event *udev_event;
+                        _cleanup_(udev_event_freep) struct udev_event *udev_event = NULL;
                         int fd_lock = -1;
 
                         assert(dev);
@@ -477,8 +477,6 @@ skip:
                         udev_device_unref(dev);
                         dev = NULL;
 
-                        udev_event_unref(udev_event);
-
                         /* wait for more device messages from main udevd, or term signal */
                         while (dev == NULL) {
                                 struct epoll_event ev[4];