* [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD
@ 2012-12-28 6:38 Brad Smith
2012-12-28 20:09 ` Blue Swirl
2012-12-28 23:36 ` Peter Maydell
0 siblings, 2 replies; 4+ messages in thread
From: Brad Smith @ 2012-12-28 6:38 UTC (permalink / raw)
To: qemu-devel
Disable the semaphores fallback code for OpenBSD as modern OpenBSD
releases now have sem_timedwait().
Signed-off-by: Brad Smith <brad@comstyle.com>
diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
index 380bae2..0f30dcc 100644
--- a/include/qemu/thread-posix.h
+++ b/include/qemu/thread-posix.h
@@ -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;
diff --git a/qemu-thread-posix.c b/qemu-thread-posix.c
index 7be292e..6374df3 100644
--- a/qemu-thread-posix.c
+++ b/qemu-thread-posix.c
@@ -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) {
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD
2012-12-28 6:38 [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD Brad Smith
@ 2012-12-28 20:09 ` Blue Swirl
2012-12-28 23:36 ` Peter Maydell
1 sibling, 0 replies; 4+ messages in thread
From: Blue Swirl @ 2012-12-28 20:09 UTC (permalink / raw)
To: Brad Smith; +Cc: qemu-devel
Thanks, applied.
On Fri, Dec 28, 2012 at 6:38 AM, Brad Smith <brad@comstyle.com> wrote:
> Disable the semaphores fallback code for OpenBSD as modern OpenBSD
> releases now have sem_timedwait().
>
> Signed-off-by: Brad Smith <brad@comstyle.com>
>
> diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
> index 380bae2..0f30dcc 100644
> --- a/include/qemu/thread-posix.h
> +++ b/include/qemu/thread-posix.h
> @@ -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;
> diff --git a/qemu-thread-posix.c b/qemu-thread-posix.c
> index 7be292e..6374df3 100644
> --- a/qemu-thread-posix.c
> +++ b/qemu-thread-posix.c
> @@ -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) {
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD
2012-12-28 6:38 [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD Brad Smith
2012-12-28 20:09 ` Blue Swirl
@ 2012-12-28 23:36 ` Peter Maydell
2012-12-29 15:51 ` Blue Swirl
1 sibling, 1 reply; 4+ messages in thread
From: Peter Maydell @ 2012-12-28 23:36 UTC (permalink / raw)
To: Brad Smith; +Cc: qemu-devel
On 28 December 2012 06:38, Brad Smith <brad@comstyle.com> wrote:
> Disable the semaphores fallback code for OpenBSD as modern OpenBSD
> releases now have sem_timedwait().
Maybe we should have a configure test for existence of sem_timedwait()
rather than os-guessing ifdeffery...
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD
2012-12-28 23:36 ` Peter Maydell
@ 2012-12-29 15:51 ` Blue Swirl
0 siblings, 0 replies; 4+ messages in thread
From: Blue Swirl @ 2012-12-29 15:51 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel, Brad Smith
On Fri, Dec 28, 2012 at 11:36 PM, Peter Maydell
<peter.maydell@linaro.org> wrote:
> On 28 December 2012 06:38, Brad Smith <brad@comstyle.com> wrote:
>> Disable the semaphores fallback code for OpenBSD as modern OpenBSD
>> releases now have sem_timedwait().
>
> Maybe we should have a configure test for existence of sem_timedwait()
> rather than os-guessing ifdeffery...
+1
>
> -- PMM
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-12-29 15:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-28 6:38 [Qemu-devel] [PATCH] Disable semaphores fallback code for OpenBSD Brad Smith
2012-12-28 20:09 ` Blue Swirl
2012-12-28 23:36 ` Peter Maydell
2012-12-29 15:51 ` Blue Swirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).