mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
console: Don't wait for 'nc' to exit, just kill the process.
Certain nc versions don't handle disconnects very well or require specific incompatible cli options to operate nicely, and a hung 'nc' connection can lock up virt-manager. Just kill the tunnel process, rather than waitpid it.
This commit is contained in:
parent
c02b8538e6
commit
494a93cccc
@ -21,14 +21,17 @@
|
|||||||
import gobject
|
import gobject
|
||||||
import gtk
|
import gtk
|
||||||
import gtk.glade
|
import gtk.glade
|
||||||
|
|
||||||
import libvirt
|
import libvirt
|
||||||
import logging
|
|
||||||
import traceback
|
|
||||||
import sys
|
|
||||||
import dbus
|
import dbus
|
||||||
import gtkvnc
|
import gtkvnc
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import signal
|
||||||
import socket
|
import socket
|
||||||
|
import logging
|
||||||
|
import traceback
|
||||||
|
|
||||||
from virtManager.error import vmmErrorDialog
|
from virtManager.error import vmmErrorDialog
|
||||||
|
|
||||||
@ -533,7 +536,7 @@ class vmmConsolePages(gobject.GObject):
|
|||||||
logging.debug("Shutting down tunnel PID %d FD %d" %
|
logging.debug("Shutting down tunnel PID %d FD %d" %
|
||||||
(self.vncTunnel[1], self.vncTunnel[0].fileno()))
|
(self.vncTunnel[1], self.vncTunnel[0].fileno()))
|
||||||
self.vncTunnel[0].close()
|
self.vncTunnel[0].close()
|
||||||
os.waitpid(self.vncTunnel[1], 0)
|
os.kill(self.vncTunnel[1], signal.SIGKILL)
|
||||||
self.vncTunnel = None
|
self.vncTunnel = None
|
||||||
|
|
||||||
def try_login(self, src=None):
|
def try_login(self, src=None):
|
||||||
|
Loading…
Reference in New Issue
Block a user