Revision 196a7784 ui/spice-display.c

b/ui/spice-display.c
176 176
    surface.mem        = (intptr_t)ssd->buf;
177 177
    surface.group_id   = MEMSLOT_GROUP_HOST;
178 178

  
179
    qemu_mutex_unlock_iothread();
180 179
    ssd->worker->create_primary_surface(ssd->worker, 0, &surface);
181
    qemu_mutex_lock_iothread();
182 180
}
183 181

  
184 182
void qemu_spice_destroy_host_primary(SimpleSpiceDisplay *ssd)
185 183
{
186 184
    dprint(1, "%s:\n", __FUNCTION__);
187 185

  
188
    qemu_mutex_unlock_iothread();
189 186
    ssd->worker->destroy_primary_surface(ssd->worker, 0);
190
    qemu_mutex_lock_iothread();
191 187
}
192 188

  
193 189
void qemu_spice_vm_change_state_handler(void *opaque, int running, int reason)
......
197 193
    if (running) {
198 194
        ssd->worker->start(ssd->worker);
199 195
    } else {
200
        qemu_mutex_unlock_iothread();
201 196
        ssd->worker->stop(ssd->worker);
202
        qemu_mutex_lock_iothread();
203 197
    }
204 198
    ssd->running = running;
205 199
}

Also available in: Unified diff