Disable semaphores fallback code for OpenBSD
Disable the semaphores fallback code for OpenBSD as modern OpenBSD releases now have sem_timedwait(). Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
62054c06d4
commit
927fa909d5
@ -12,7 +12,7 @@ struct QemuCond {
|
||||
};
|
||||
|
||||
struct QemuSemaphore {
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
pthread_mutex_t lock;
|
||||
pthread_cond_t cond;
|
||||
int count;
|
||||
|
@ -122,7 +122,7 @@ void qemu_sem_init(QemuSemaphore *sem, int init)
|
||||
{
|
||||
int rc;
|
||||
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
rc = pthread_mutex_init(&sem->lock, NULL);
|
||||
if (rc != 0) {
|
||||
error_exit(rc, __func__);
|
||||
@ -147,7 +147,7 @@ void qemu_sem_destroy(QemuSemaphore *sem)
|
||||
{
|
||||
int rc;
|
||||
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
rc = pthread_cond_destroy(&sem->cond);
|
||||
if (rc < 0) {
|
||||
error_exit(rc, __func__);
|
||||
@ -168,7 +168,7 @@ void qemu_sem_post(QemuSemaphore *sem)
|
||||
{
|
||||
int rc;
|
||||
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
pthread_mutex_lock(&sem->lock);
|
||||
if (sem->count == INT_MAX) {
|
||||
rc = EINVAL;
|
||||
@ -206,7 +206,7 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms)
|
||||
int rc;
|
||||
struct timespec ts;
|
||||
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
compute_abs_deadline(&ts, ms);
|
||||
pthread_mutex_lock(&sem->lock);
|
||||
--sem->count;
|
||||
@ -248,7 +248,7 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms)
|
||||
|
||||
void qemu_sem_wait(QemuSemaphore *sem)
|
||||
{
|
||||
#if defined(__OpenBSD__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
pthread_mutex_lock(&sem->lock);
|
||||
--sem->count;
|
||||
while (sem->count < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user