[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