qxl: Convert to QEMU thread API
PATCH 1/1 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 <[email protected]>
--- hw/qxl.c | 4 ++-- hw/qxl.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)
hw/qxl.c +2 -2
@@ -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); }
hw/qxl.h +2 -1
@@ -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 */
Signature · 1 line
1.7.3.4