Преглед на файлове

do not schedule repeated jobs in the past; fixes #472

Julius Pfrommer преди 9 години
родител
ревизия
d4bf5e03ce
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      src/server/ua_server_worker.c

+ 5 - 0
src/server/ua_server_worker.c

@@ -343,7 +343,12 @@ static UA_UInt16 processRepeatedJobs(UA_Server *server) {
             //processJobs may sort the list but dont delete entries
             processJobs(server, &tw->jobs[i].job, 1); // does not free the job ptr
 #endif
+
+        /* set the time for the next execution */
         tw->nextTime += tw->interval;
+        if(tw->nextTime < current)
+            tw->nextTime = current;
+
         //start iterating the list from the beginning
         struct RepeatedJobs *prevTw = LIST_FIRST(&server->repeatedJobs); // after which tw do we insert?
         while(UA_TRUE) {