[Spice-devel] [spice-server 1/8] reds: Close sockets when failing to watch them
Christophe Fergeau
cfergeau at redhat.com
Wed Mar 7 17:07:27 UTC 2018
On Wed, Mar 07, 2018 at 12:01:48PM +0200, Uri Lublin wrote:
> On 03/06/2018 03:53 PM, Christophe Fergeau wrote:
> > 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;
>
> Looks good.
>
> Note that it still does not clean up everything.
> For example it may be that listen_socket stays open.
Indeed, good point, I'll clean up more things ;)
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20180307/05a4175e/attachment.sig>
More information about the Spice-devel
mailing list