[virt-tools-list] [PATCH virt-manager] tunnels: do not close unowned fd

Cole Robinson crobinso at redhat.com
Sun Nov 16 17:12:13 UTC 2014


On 11/09/2014 04:02 PM, Marc-André Lureau wrote:
> The fd is handed to spice-gtk and gtk-vnc. They will close it when no
> longer needed. Double closing leads to various race issues, since the
> same fd may be opened for a different usage.
>
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=1081227
> ---
>   virtManager/sshtunnels.py | 5 +----
>   1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/virtManager/sshtunnels.py b/virtManager/sshtunnels.py
> index 8443694..2827295 100644
> --- a/virtManager/sshtunnels.py
> +++ b/virtManager/sshtunnels.py
> @@ -153,10 +153,7 @@ class _Tunnel(object):
>                         self.outfd and self.outfd.fileno() or self._outfds,
>                         self.errfd and self.errfd.fileno() or self._errfds)
>
> -        if self.outfd:
> -            self.outfd.close()
> -        elif self._outfds:
> -            self._outfds[0].close()
> +        if self._outfds:
>               self._outfds[1].close()
>           self.outfd = None
>           self._outfds = None
>

Thanks a lot for tracking this down Marc-André ! Pushed now

This may fix another issue we've been seeing as well, which seems related to 
unexpectedly closed sockets. Not sure though:

https://bugzilla.redhat.com/show_bug.cgi?id=1135546

- Cole




More information about the virt-tools-list mailing list