[Spice-devel] [spice-server v2 3/5] Don't modify watch when network queue is full

Christophe Fergeau cfergeau at redhat.com
Fri Apr 28 13:28:15 UTC 2017


On Fri, Apr 28, 2017 at 07:46:53AM -0400, Frediano Ziglio wrote:
> > 
> > Since 5c460d, we need to watch for WATCH_EVENT_WRITE as long as there are
> > items queued waiting to be sent, this should not be done only when the
> > network queue is full.
> > 
> > red_channel_client_set_blocked()/red_channel_client_msg_sent() are
> > still adding/removing WATCH_EVENT_WRITE when the channel becomes
> > blocked/unblocked. This should not be causing issues as if there is
> > already pending data, we will send it without needing WATCH_EVENT_WRITE,
> > and if it starts blocking, the write watch will be reenabled.
> > 
> 
> I don't know why but I feel the above sentence is really confusing.
> red_channel_client_set_blocked add the WRITE, in this case can be removed
> as WRITE is already set.
> red_channel_client_msg_sent removes the WRITE but this is also done
> later after sending data so is redundant.

Ah, I can change it, tried to summarize what I understood without
spending too much time on this ;)

Is this better?

« Don't modify watch when network queue is full

Since 5c460d, we need to watch for WATCH_EVENT_WRITE as long as there
are
items queued waiting to be sent, this does not need to be done only when
the network queue is full.

When red_channel_client_set_blocked() is called, as a message is being
sent, WATCH_EVENT_WRITE will already be set, so it does not need to set
it again.
red_channel_client_msg_sent() removes WATCH_EVENT_WRITE, but this will
be done later anyway by red_channel_client_push() if needed.

Since it's redundant, so we can remove this. »

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170428/a658bb85/attachment.sig>


More information about the Spice-devel mailing list