> + if (cookie == NULL) { > + cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, > + QXL_IO_UPDATE_AREA_ASYNC, > + 0); > + }
Automagic cookie creation is still there. I think when cookie is NULL you should just pass it on ... > -/* called from spice server thread context only */ > -static void interface_async_complete(QXLInstance *sin, uint64_t cookie) > +static void interface_async_complete_io(PCIQXLDevice *qxl, QXLCookie *cookie) > { > - PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl); > uint32_t current_async; ... and do "if (cookie == NULL) return;" here. Which spice server version added async support? IIRC this is 0.8.2? I'm tempted to raise the minimal supported version to 0.8.latest and zap a bunch of #ifdefs from the code. What do you think? cheers, Gerd