+ list_del_init(&msg->list);
+ free(msg);
+ }
+
+ /* recalculate timeout */
+ if (list_empty(&msg_list) == 0) {
+ msg_age = time(NULL) - msg->queue_time;
+ if (msg_age > EVENT_TIMEOUT_SECONDS-1) {
+ info("event %d, age %li seconds, skip event %d-%d",
+ msg->seqnum, msg_age, expect_seqnum, msg->seqnum-1);
+ expect_seqnum = msg->seqnum;
+ goto recheck;
+ }
+ set_timeout(EVENT_TIMEOUT_SECONDS - msg_age);
+ return;