Il 27/03/2012 17:08, Jan Kiszka ha scritto: >>> +#if defined(__sun__) >>> + if (timer_create(CLOCK_HIGHRES, &ev, &host_timer)) { >>> +#else >>> if (timer_create(CLOCK_REALTIME, &ev, &host_timer)) { >>> +#endif >> >> This should be #ifdef CLOCK_HIGHRES. > > Are we sure about this is and will remain equivalent and correct? > > Also, I found some man page that says CLOCK_HIGHRES is non-adjustable > while CLOCK_REALTIME is. That should make a difference in QEMU.
Right, that's why I CCed you but then I forgot to ask the question. Does QEMU rely on CLOCK_REALTIME when "-rtc clock=host" is in use? A monotonic clock would work better when CLOCK_REALTIME jumps backwards (DST->solar). If the jump goes unnoticed, the alarm timer would have no timeout for an hour or so. Of course the opposite is true when going from solar time to DST; you move the realtime clock one hour forward and, with CLOCK_MONOTONIC, a host_clock timer to trigger an hour too late. Paolo