fixed entry deficit in timeq.c (some entrys can get lost if they are added in a timeq...
authorpk910 <philipp@zoelle1.de>
Sun, 13 Nov 2011 18:28:46 +0000 (19:28 +0100)
committerpk910 <philipp@zoelle1.de>
Sun, 13 Nov 2011 18:28:46 +0000 (19:28 +0100)
src/timeq.c

index ab463eeb060ba09ba7269870f1c5ed75d6ad1cae..463e764ed50c8d67e7e67dbf9ac3941e508fa457 100644 (file)
@@ -26,11 +26,12 @@ void timeq_tick() {
         if(entry->execute <= now) {
             entry->callback(entry->data);
             next = entry->next;
+            if(timeq_events == entry)
+                timeq_events = next;
             free(entry);
         } else
             break;
     }
-    timeq_events = entry;
 }
 
 struct timeq_entry* timeq_add(int seconds, timeq_callback_t *callback, void *data) {