summaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-09-20 17:14:40 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-10-25 14:00:53 +0200
commit691f5c7bde07218127e034cca4e2581f66a6ddcf (patch)
tree46a44ec8e5a897d3c0e8f77b38193f3b2e03e5ec /hw
parentf9ab6091b0a741c47546b38301836f2ab6ce978d (diff)
downloadhqemu-691f5c7bde07218127e034cca4e2581f66a6ddcf.zip
hqemu-691f5c7bde07218127e034cca4e2581f66a6ddcf.tar.gz
qxl: Convert to QEMU thread API
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> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/qxl.c4
-rw-r--r--hw/qxl.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/hw/qxl.c b/hw/qxl.c
index 03848ed..a0b0f36 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 */
OpenPOWER on IntegriCloud