> > Rather than calling getsockopt when we need its value, we can cache it > as it can only be set through a call to reds_stream_set_no_delay() > > Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx> I would avoid that - not in an hot path, it's just a system call; - with my patches this call is not necessary. > --- > server/reds-stream.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/server/reds-stream.c b/server/reds-stream.c > index 1d815c1..66b1166 100644 > --- a/server/reds-stream.c > +++ b/server/reds-stream.c > @@ -99,6 +99,7 @@ struct RedsStreamPrivate { > ssize_t (*writev)(RedsStream *s, const struct iovec *iov, int iovcnt); > > RedsState *reds; > + bool no_delay; > }; > > static ssize_t stream_write_cb(RedsStream *s, const void *buf, size_t size) > @@ -263,12 +264,17 @@ bool reds_stream_is_plain_unix(const RedsStream *s) > > bool reds_stream_set_no_delay(RedsStream *stream, bool no_delay) > { > - return red_socket_set_no_delay(stream->socket, no_delay); > + bool success; > + success = red_socket_set_no_delay(stream->socket, no_delay); > + if (success) { > + stream->priv->no_delay = !!no_delay; > + } > + return success; > } > > int reds_stream_get_no_delay(RedsStream *stream) > { > - return red_socket_get_no_delay(stream->socket); > + return stream->priv->no_delay; > } > > int reds_stream_send_msgfd(RedsStream *stream, int fd) > @@ -372,7 +378,13 @@ void reds_stream_push_channel_event(RedsStream *s, int > event) > > static void reds_stream_set_socket(RedsStream *stream, int socket) > { > + int no_delay; > stream->socket = socket; > + no_delay = red_socket_get_no_delay(socket); > + if (no_delay != -1) { > + stream->priv->no_delay = !!no_delay; > + } > + > /* deprecated fields. Filling them for backward compatibility */ > stream->priv->info->llen = sizeof(stream->priv->info->laddr); > stream->priv->info->plen = sizeof(stream->priv->info->paddr); Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel