The qemu_sem_timedwait() uses system time as default, it would be affected by changes to the system time. In the real scenario, the time that goes faster or slower is a common case and the NTP service could help us to sync time periodically.
This patchset uses monotonic clock instead of the realtime clock, this could make sure we would not be affected by the system time anymore. Changes v1(RFC) -> v2: Patch 2: - clean the code [Paolo] - use pthread_condattr_setclock when initializing qemu-cond. [Paolo] Patch 3: - new added, make the qemu-sem code neater. [Longpeng] Longpeng (Mike) (3): sem-posix: remove the posix semaphore support sem-posix: use monotonic clock instead sem-posix: refactor qemu-sem with qemu-cond and qemu-mutex include/qemu/thread-posix.h | 9 +-- meson.build | 12 ++- util/qemu-thread-posix.c | 178 +++++++++++++++----------------------------- 3 files changed, 73 insertions(+), 126 deletions(-) -- 1.8.3.1