[Spice-devel] [PATCH 5/7] server: don't complain if setsockopt(SO_PRIORITY) call fails

Hans de Goede hdegoede at redhat.com
Fri Jan 20 00:56:05 PST 2012


I sort of deliberately did not add the if (errno != ENOTSUP) check
for this one as it is not TCP/IP specific. But thinking about it more
I can see that this makes sense, so: ACK.

Regards,

Hans


On 01/19/2012 09:10 PM, Dan McGee wrote:
> From: Nahum Shalman<nshalman-github at elys.com>
>
> dc7855967f4e did this for the TCP_NODELAY and IP_TOS calls; we should do
> it for priority as well if necessary.
>
> We also #ifdef the setting of the low-level socket priority based on
> whether we have a definition of SO_PRIORITY available. This option is
> not available on Illumos/Solaris platforms; however, since we set IP_TOS
> anyway it is not a big deal to omit it here.
> ---
>   server/snd_worker.c |    8 +++++++-
>   1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/server/snd_worker.c b/server/snd_worker.c
> index cb64c99..e78d1d3 100644
> --- a/server/snd_worker.c
> +++ b/server/snd_worker.c
> @@ -902,7 +902,9 @@ static SndChannel *__new_channel(SndWorker *worker, int size, uint32_t channel_i
>       SndChannel *channel;
>       int delay_val;
>       int flags;
> +#ifdef SO_PRIORITY
>       int priority;
> +#endif
>       int tos;
>       MainChannelClient *mcc = red_client_get_main(client);
>
> @@ -911,11 +913,15 @@ static SndChannel *__new_channel(SndWorker *worker, int size, uint32_t channel_i
>           goto error1;
>       }
>
> +#ifdef SO_PRIORITY
>       priority = 6;
>       if (setsockopt(stream->socket, SOL_SOCKET, SO_PRIORITY, (void*)&priority,
>                      sizeof(priority)) == -1) {
> -        red_printf("setsockopt failed, %s", strerror(errno));
> +        if (errno != ENOTSUP) {
> +            red_printf("setsockopt failed, %s", strerror(errno));
> +        }
>       }
> +#endif
>
>       tos = IPTOS_LOWDELAY;
>       if (setsockopt(stream->socket, IPPROTO_IP, IP_TOS, (void*)&tos, sizeof(tos)) == -1) {


More information about the Spice-devel mailing list