Revision 196a7784 hw/qxl.c
b/hw/qxl.c | ||
---|---|---|
666 | 666 |
dprint(d, 1, "%s: start%s\n", __FUNCTION__, |
667 | 667 |
loadvm ? " (loadvm)" : ""); |
668 | 668 |
|
669 |
qemu_mutex_unlock_iothread(); |
|
670 | 669 |
d->ssd.worker->reset_cursor(d->ssd.worker); |
671 | 670 |
d->ssd.worker->reset_image_cache(d->ssd.worker); |
672 |
qemu_mutex_lock_iothread(); |
|
673 | 671 |
qxl_reset_surfaces(d); |
674 | 672 |
qxl_reset_memslots(d); |
675 | 673 |
|
... | ... | |
799 | 797 |
{ |
800 | 798 |
dprint(d, 1, "%s:\n", __FUNCTION__); |
801 | 799 |
d->mode = QXL_MODE_UNDEFINED; |
802 |
qemu_mutex_unlock_iothread(); |
|
803 | 800 |
d->ssd.worker->destroy_surfaces(d->ssd.worker); |
804 |
qemu_mutex_lock_iothread(); |
|
805 | 801 |
memset(&d->guest_surfaces.cmds, 0, sizeof(d->guest_surfaces.cmds)); |
806 | 802 |
} |
807 | 803 |
|
... | ... | |
870 | 866 |
dprint(d, 1, "%s\n", __FUNCTION__); |
871 | 867 |
|
872 | 868 |
d->mode = QXL_MODE_UNDEFINED; |
873 |
qemu_mutex_unlock_iothread(); |
|
874 | 869 |
d->ssd.worker->destroy_primary_surface(d->ssd.worker, 0); |
875 |
qemu_mutex_lock_iothread(); |
|
876 | 870 |
} |
877 | 871 |
|
878 | 872 |
static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm) |
... | ... | |
942 | 936 |
case QXL_IO_UPDATE_AREA: |
943 | 937 |
{ |
944 | 938 |
QXLRect update = d->ram->update_area; |
945 |
qemu_mutex_unlock_iothread(); |
|
946 | 939 |
d->ssd.worker->update_area(d->ssd.worker, d->ram->update_surface, |
947 | 940 |
&update, NULL, 0, 0); |
948 |
qemu_mutex_lock_iothread(); |
|
949 | 941 |
break; |
950 | 942 |
} |
951 | 943 |
case QXL_IO_NOTIFY_CMD: |
Also available in: Unified diff