xspice: qxl_unmap_memory: stop worker and track worker status
stop the worker thread and track the status, ignoring io requests (i.e. prevent red_dispatcher writes to red_worker) if red_worker is stopped. This fixes spice red_worker asserts from actions attepted after X has destroyed a screen. X runs in a loop destroying and recreating screens multiple times during the process lifetime, whenever the last X client has exited. Note that the spice server is kept up during a X screen restart. This is on purpose, to avoid a spice-client closing when doing a window manager restart. Cleanup of the spice-server on atexit - still to do.
Showing with 12 additions and 0 deletions