chiark / gitweb /
sd-event: fix missing needs_rearm
authorTom Gundersen <teg@jklm.no>
Fri, 15 Aug 2014 16:21:18 +0000 (18:21 +0200)
committerTom Gundersen <teg@jklm.no>
Fri, 15 Aug 2014 18:20:38 +0000 (20:20 +0200)
src/libsystemd/sd-event/sd-event.c

index 1e3afae..3a9d934 100644 (file)
@@ -894,6 +894,8 @@ _public_ int sd_event_add_time(
         s->userdata = userdata;
         s->enabled = SD_EVENT_ONESHOT;
 
+        d->needs_rearm = true;
+
         r = prioq_put(d->earliest, s, &s->time.earliest_index);
         if (r < 0)
                 goto fail;
@@ -902,8 +904,6 @@ _public_ int sd_event_add_time(
         if (r < 0)
                 goto fail;
 
-        d->needs_rearm = true;
-
         if (ret)
                 *ret = s;
 
@@ -1872,6 +1872,7 @@ static int process_timer(
 
                 prioq_reshuffle(d->earliest, s, &s->time.earliest_index);
                 prioq_reshuffle(d->latest, s, &s->time.latest_index);
+                d->needs_rearm = true;
         }
 
         return 0;