]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
varlink: fix enablement of varlink timeout event source 14109/head
authorLennart Poettering <lennart@poettering.net>
Thu, 21 Nov 2019 11:14:58 +0000 (12:14 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 22 Nov 2019 09:54:52 +0000 (10:54 +0100)
src/shared/varlink.c

index 55098a1212f5a95ca587069077244a5f1c1a5918..ee4fb9e843961105ec478fc4fe133cc8f7a3f451 100644 (file)
@@ -1831,6 +1831,7 @@ static int prepare_callback(sd_event_source *s, void *userdata) {
         Varlink *v = userdata;
         int r, e;
         usec_t until;
+        bool have_timeout;
 
         assert(s);
         assert(v);
@@ -1846,13 +1847,15 @@ static int prepare_callback(sd_event_source *s, void *userdata) {
         r = varlink_get_timeout(v, &until);
         if (r < 0)
                 return r;
-        if (r > 0) {
+        have_timeout = r > 0;
+
+        if (have_timeout) {
                 r = sd_event_source_set_time(v->time_event_source, until);
                 if (r < 0)
                         return r;
         }
 
-        r = sd_event_source_set_enabled(v->time_event_source, r > 0 ? SD_EVENT_ON : SD_EVENT_OFF);
+        r = sd_event_source_set_enabled(v->time_event_source, have_timeout ? SD_EVENT_ON : SD_EVENT_OFF);
         if (r < 0)
                 return r;