From: Paolo Bonzini <pbonzini@redhat.com>
To: "Andreas Färber" <andreas.faerber@web.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH RFC for-1.4] qemu-thread-posix: Fix build for OpenBSD
Date: Fri, 18 Jan 2013 17:16:00 +0100 [thread overview]
Message-ID: <50F97540.2010503@redhat.com> (raw)
In-Reply-To: <50F97334.6080802@web.de>
Il 18/01/2013 17:07, Andreas Färber ha scritto:
> Am 18.01.2013 17:05, schrieb Paolo Bonzini:
>> Il 18/01/2013 16:58, Andreas Färber ha scritto:
>>> Avoid an undefined reference to sem_timedwait.
>>>
>>> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
>>> ---
>>> include/qemu/thread-posix.h | 2 +-
>>> util/qemu-thread-posix.c | 10 +++++-----
>>> 2 Dateien geändert, 6 Zeilen hinzugefügt(+), 6 Zeilen entfernt(-)
>>>
>>> diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
>>> index 0f30dcc..772d925 100644
>>> --- a/include/qemu/thread-posix.h
>>> +++ b/include/qemu/thread-posix.h
>>> @@ -12,7 +12,7 @@ struct QemuCond {
>>> };
>>>
>>> struct QemuSemaphore {
>>> -#if defined(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> pthread_mutex_t lock;
>>> pthread_cond_t cond;
>>> int count;
>>> diff --git a/util/qemu-thread-posix.c b/util/qemu-thread-posix.c
>>> index 4489abf..fa8a3d8 100644
>>> --- a/util/qemu-thread-posix.c
>>> +++ b/util/qemu-thread-posix.c
>>> @@ -122,7 +122,7 @@ void qemu_sem_init(QemuSemaphore *sem, int init)
>>> {
>>> int rc;
>>>
>>> -#if defined(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> 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(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> 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(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> 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(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> compute_abs_deadline(&ts, ms);
>>> pthread_mutex_lock(&sem->lock);
>>> --sem->count;
>>> @@ -249,7 +249,7 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms)
>>>
>>> void qemu_sem_wait(QemuSemaphore *sem)
>>> {
>>> -#if defined(__APPLE__) || defined(__NetBSD__)
>>> +#if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
>>> pthread_mutex_lock(&sem->lock);
>>> --sem->count;
>>> while (sem->count < 0) {
>>>
>>
>> This was reverted recently. Apparently your OpenBSD is too old compared
>> to what Brad wants to support...
>
> This is 5.1 from 2012.
2012 does sound a bit too recent, but then maybe not considering OpenBSD
is only now getting a decent threading library. I suggest this
approach: http://lwn.net/Articles/527216/
Paolo
Paolo
next prev parent reply other threads:[~2013-01-18 16:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-18 15:58 [Qemu-devel] [PATCH RFC for-1.4] qemu-thread-posix: Fix build for OpenBSD Andreas Färber
2013-01-18 16:05 ` Paolo Bonzini
2013-01-18 16:07 ` Andreas Färber
2013-01-18 16:16 ` Paolo Bonzini [this message]
2013-01-19 9:44 ` Blue Swirl
2013-01-19 18:07 ` Andreas Färber
2013-01-19 10:13 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50F97540.2010503@redhat.com \
--to=pbonzini@redhat.com \
--cc=andreas.faerber@web.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.