Re: [spice-server 1/8] reds: Close sockets when failing to watch them

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> Currently if we fail to set up the watch waiting for accept() to be
> called on the socket, we still keep the network socket open even if we
> are not going to be able to use it. This commit makes sure it's closed a
> set to -1 when such a failure occurs.
> ---
>  server/reds.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/server/reds.c b/server/reds.c
> index a31ed4e96..7867e8573 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -2595,6 +2595,8 @@ static int reds_init_net(RedsState *reds)
>                                                   SPICE_WATCH_EVENT_READ,
>                                                   reds_accept, reds);
>          if (reds->listen_watch == NULL) {
> +            close(reds->listen_socket);
> +            reds->listen_socket = -1;
>              spice_warning("set fd handle failed");
>              return -1;
>          }
> @@ -2610,6 +2612,8 @@ static int reds_init_net(RedsState *reds)
>                                                          SPICE_WATCH_EVENT_READ,
>                                                          reds_accept_ssl_connection,
>                                                          reds);
>          if (reds->secure_listen_watch == NULL) {
> +            close(reds->secure_listen_socket);
> +            reds->secure_listen_socket = -1;
>              spice_warning("set fd handle failed");
>              return -1;
>          }
> @@ -2621,6 +2625,7 @@ static int reds_init_net(RedsState *reds)
>                                                   SPICE_WATCH_EVENT_READ,
>                                                   reds_accept, reds);
>          if (reds->listen_watch == NULL) {
> +            reds->listen_socket = -1;
>              spice_warning("set fd handle failed");
>              return -1;
>          }

Looks fine.
Actually when this function returns -1 spice_server_init returns -1 and Qemu
calls exit so there's no much difference at runtime.
But I suppose this is necessary for your tests.

Frediano
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]