I came to this code in dcc.c (dcc_clear_surface_drawables_from_pipe function):
* in case that the pipe didn't contain any item that is dependent on the
* there is one during sending. Use a shorter timeout, since it is just one
This function is called when there are no items in the pipe related to the
specified (as the comment says).
However I really don't understand why the call is needed.
When an item is extracted from the queue send_item is called then the message is
marshalled and sent to the client. Now all structure should be freed and the
would be send in any case to the client so what's the purpose of waiting?
I understood that all this wait is for making sure nobody is using some
Is this related to urgent data (actually free list sent by the DisplayChannel) ?
This urgent handling is quite confusing, wouldn't be enough to insert the
item back into the queue and then all urgent data in front too instead of using
all these fields?
Is somebody confident with these part of the code?
Spice-devel mailing list