summary refs log tree commit diff stats
path: root/include/qemu/thread-posix.h
diff options
context:
space:
mode:
authorLongpeng(Mike) <longpeng2@huawei.com>2022-02-22 17:05:04 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2022-04-06 14:31:55 +0200
commitf9fc8932b11f3bcf2a2626f567cb6fdd36a33a94 (patch)
treeb3baad6e196328bed2811174d73b6514dcc35ee1 /include/qemu/thread-posix.h
parentd7482ffe9756919531307330fd1c6dbec66e8c32 (diff)
downloadfocaccia-qemu-f9fc8932b11f3bcf2a2626f567cb6fdd36a33a94.tar.gz
focaccia-qemu-f9fc8932b11f3bcf2a2626f567cb6fdd36a33a94.zip
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>
Diffstat (limited to 'include/qemu/thread-posix.h')
-rw-r--r--include/qemu/thread-posix.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
index b792e6ef37..5466608d7c 100644
--- a/include/qemu/thread-posix.h
+++ b/include/qemu/thread-posix.h
@@ -27,13 +27,9 @@ struct QemuCond {
 };
 
 struct QemuSemaphore {
-#ifndef CONFIG_SEM_TIMEDWAIT
     pthread_mutex_t lock;
     pthread_cond_t cond;
     unsigned int count;
-#else
-    sem_t sem;
-#endif
     bool initialized;
 };