if (pthread_self() != main_tid)
pthread_kill(main_tid, SIGTERM);
pthread_cond_signal(>imer_cond);
+ tvh_cond_signal(&mtimer_cond, 1);
atomic_set(&tvheadend_running, 0);
signal(x, doexit);
}
exit(0);
}
+/**
+ *
+ */
+static inline time_t
+gdispatch_clock_update(void)
+{
+ time_t now = time(NULL);
+ atomic_set_time_t(&__gdispatch_clock, now);
+ return now;
+}
+
/**
*
*/
if (mono > atomic_get_s64(&mtimer_periodic)) {
atomic_set_s64(&mtimer_periodic, mono + MONOCLOCK_RESOLUTION);
+ gdispatch_clock_update(); /* gclk() update */
comet_flush(); /* Flush idle comet mailboxes */
}
return NULL;
}
-/**
- *
- */
-static inline time_t
-gdispatch_clock_update(void)
-{
- time_t now = time(NULL);
- atomic_set_time_t(&__gdispatch_clock, now);
- return now;
-}
-
/**
*
*/