OSDN Git Service

thread-posix: remove the posix semaphore support
authorLongpeng(Mike) <longpeng2@huawei.com>
Tue, 22 Feb 2022 09:05:04 +0000 (17:05 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 6 Apr 2022 12:31:55 +0000 (14:31 +0200)
commitf9fc8932b11f3bcf2a2626f567cb6fdd36a33a94
treeb3baad6e196328bed2811174d73b6514dcc35ee1
parentd7482ffe9756919531307330fd1c6dbec66e8c32
thread-posix: remove the posix semaphore support

POSIX specifies an absolute time for sem_timedwait(), it would be
affected if the system time is changing, but there is not a relative
time or monotonic clock version of sem_timedwait, so we cannot gain
from POSIX semaphore any more.

An alternative way is to use sem_trywait + usleep, maybe we can
remove CONFIG_SEM_TIMEDWAIT in this way? No, because some systems
(e.g. mac os) mark the sem_xxx API as deprecated.

So maybe remove the usage of POSIX semaphore and turn to use the
pthread variant for all systems looks better.

Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Message-Id: <20220222090507.2028-2-longpeng2@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/qemu/thread-posix.h
meson.build
util/qemu-thread-posix.c