Patchwork qxl: Convert to QEMU thread API

login
register
mail settings
Submitter Jan Kiszka
Date Sept. 20, 2011, 3:14 p.m.
Message ID <4E78ADE0.20606@siemens.com>
Download mbox | patch
Permalink /patch/115574/
State New
Headers show

Comments

Jan Kiszka - Sept. 20, 2011, 3:14 p.m.
Use QEMU thread API instead of pthread directly. We still need to get
rid of pthread_yield, though, to drop pthread.h inclusion.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/qxl.c |    4 ++--
 hw/qxl.h |    3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

Patch

diff --git a/hw/qxl.c b/hw/qxl.c
index a282d23..082b940 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1372,7 +1372,7 @@  static void qxl_send_events(PCIQXLDevice *d, uint32_t events)
     if ((old_pending & le_events) == le_events) {
         return;
     }
-    if (pthread_self() == d->main) {
+    if (qemu_thread_is_self(&d->main)) {
         qxl_update_irq(d);
     } else {
         if (write(d->pipe[1], d, 1) != 1) {
@@ -1391,7 +1391,7 @@  static void init_pipe_signaling(PCIQXLDevice *d)
    fcntl(d->pipe[1], F_SETFL, O_NONBLOCK);
    fcntl(d->pipe[0], F_SETOWN, getpid());
 
-   d->main = pthread_self();
+   qemu_thread_get_self(&d->main);
    qemu_set_fd_handler(d->pipe[0], pipe_read, NULL, d);
 }
 
diff --git a/hw/qxl.h b/hw/qxl.h
index 868db81..37b2619 100644
--- a/hw/qxl.h
+++ b/hw/qxl.h
@@ -4,6 +4,7 @@ 
 #include "hw.h"
 #include "pci.h"
 #include "vga_int.h"
+#include "qemu-thread.h"
 
 #include "ui/qemu-spice.h"
 #include "ui/spice-display.h"
@@ -63,7 +64,7 @@  typedef struct PCIQXLDevice {
     QemuMutex          track_lock;
 
     /* thread signaling */
-    pthread_t          main;
+    QemuThread         main;
     int                pipe[2];
 
     /* ram pci bar */