]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/mount: disable timer event source when USEC_INFINITY 28751/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 10 Aug 2023 01:23:59 +0000 (10:23 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 17 Aug 2023 06:25:31 +0000 (08:25 +0200)
Setting USEC_INFINITY to timer event source should not cause any
problem. But, disabling timer event source should be preferable.

[zjs: simplify the call to sd_event_source_set_enabled()]

src/core/mount.c

index b773ce5fcae7a05a976c9a8fdc71a23a6078b456..f93bad7074b590369dcc64f1764ba96a43e11e6d 100644 (file)
@@ -195,6 +195,9 @@ static int mount_arm_timer(Mount *m, usec_t usec) {
 
         assert(m);
 
+        if (usec == USEC_INFINITY)
+                return sd_event_source_set_enabled(m->timer_event_source, SD_EVENT_OFF);
+
         if (m->timer_event_source) {
                 r = sd_event_source_set_time(m->timer_event_source, usec);
                 if (r < 0)
@@ -203,9 +206,6 @@ static int mount_arm_timer(Mount *m, usec_t usec) {
                 return sd_event_source_set_enabled(m->timer_event_source, SD_EVENT_ONESHOT);
         }
 
-        if (usec == USEC_INFINITY)
-                return 0;
-
         r = sd_event_add_time(
                         UNIT(m)->manager->event,
                         &m->timer_event_source,