diff mbox

[v2,3/4] io: Don't call close multiple times in QIOChannelFile

Message ID 20171101142526.1006-4-ross.lagerwall@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ross Lagerwall Nov. 1, 2017, 2:25 p.m. UTC
If the file descriptor underlying QIOChannelFile is closed in the
io_close() method, don't close it again in the finalize() method since
the file descriptor number may have been reused in the meantime.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
New in v2.

 io/channel-file.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Marc-André Lureau Nov. 1, 2017, 6:11 p.m. UTC | #1
On Wed, Nov 1, 2017 at 3:25 PM, Ross Lagerwall
<ross.lagerwall@citrix.com> wrote:
> If the file descriptor underlying QIOChannelFile is closed in the
> io_close() method, don't close it again in the finalize() method since
> the file descriptor number may have been reused in the meantime.
>
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
> New in v2.
>
>  io/channel-file.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/io/channel-file.c b/io/channel-file.c
> index 16bf7ed..1f2f710 100644
> --- a/io/channel-file.c
> +++ b/io/channel-file.c
> @@ -178,6 +178,7 @@ static int qio_channel_file_close(QIOChannel *ioc,
>                           "Unable to close file");
>          return -1;
>      }
> +    fioc->fd = -1;
>      return 0;
>  }
>
> --
> 2.9.5
>
>
Daniel P. Berrangé Jan. 18, 2018, 1:50 p.m. UTC | #2
On Wed, Nov 01, 2017 at 02:25:25PM +0000, Ross Lagerwall wrote:
> If the file descriptor underlying QIOChannelFile is closed in the
> io_close() method, don't close it again in the finalize() method since
> the file descriptor number may have been reused in the meantime.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
> New in v2.
> 
>  io/channel-file.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
diff mbox

Patch

diff --git a/io/channel-file.c b/io/channel-file.c
index 16bf7ed..1f2f710 100644
--- a/io/channel-file.c
+++ b/io/channel-file.c
@@ -178,6 +178,7 @@  static int qio_channel_file_close(QIOChannel *ioc,
                          "Unable to close file");
         return -1;
     }
+    fioc->fd = -1;
     return 0;
 }