[PATCH] Add refresh console signal handler to solve long update interval problem on virt-manager.

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

 



When the status monitoring interval is longer than 30sec,
graphical console is not updated.

To solve this issue, I add two singnal handler.
+        "action-refresh-console": (gobject.SIGNAL_RUN_FIRST,
+                                   gobject.TYPE_NONE, (str,str)),
+        "action-refresh-terminal": (gobject.SIGNAL_RUN_FIRST,
+                                    gobject.TYPE_NONE, (str,str)),

Thanks
Signed-off-by: Hiroyuki Kaguchi <fj7025cf@xxxxxxxxxxxxxxxxx>
diff -r f4107609ab7d src/virtManager/engine.py
--- a/src/virtManager/engine.py	Wed Mar 12 15:34:41 2008 -0400
+++ b/src/virtManager/engine.py	Thu Mar 13 15:37:31 2008 +0900
@@ -185,6 +185,10 @@ class vmmEngine(gobject.GObject):
         self.show_console(uri, uuid)
     def _do_show_terminal(self, src, uri, uuid):
         self.show_serial_console(uri, uuid)
+    def _do_refresh_console(self, src, uri, uuid):
+        self.refresh_console(uri, uuid)
+    def _do_refresh_terminal(self, src, uri, uuid):
+        self.refresh_serial_console(uri, uuid)
     def _do_save_domain(self, src, uri, uuid):
         self.save_domain(src, uri, uuid)
     def _do_destroy_domain(self, src, uri, uuid):
@@ -257,6 +261,30 @@ class vmmEngine(gobject.GObject):
                                        con.get_vm(uuid))
             self.connections[uri]["windowSerialConsole"][uuid] = console
         self.connections[uri]["windowSerialConsole"][uuid].show()
+
+    def refresh_console(self, uri, uuid):
+        con = self.get_connection(uri)
+
+        if not(self.connections[uri]["windowConsole"].has_key(uuid)):
+            return
+
+        console = self.connections[uri]["windowConsole"][uuid]
+        if not(console.is_visible()):
+            return
+
+        console.show()
+
+    def refresh_serial_console(self, uri, uuid):
+        con = self.get_connection(uri)
+
+        if not(self.connections[uri]["windowSerialConsole"].has_key(uuid)):
+            return
+
+        console = self.connections[uri]["windowSerialConsole"][uuid]
+        if not(console.is_visible()):
+            return
+
+        console.show()
 
     def show_details_performance(self, uri, uuid):
         win = self.show_details(uri, uuid)
@@ -302,6 +330,8 @@ class vmmEngine(gobject.GObject):
             self.windowManager.connect("action-show-host", self._do_show_host)
             self.windowManager.connect("action-show-connect", self._do_show_connect)
             self.windowManager.connect("action-connect", self._do_connect)
+            self.windowManager.connect("action-refresh-console", self._do_refresh_console)
+            self.windowManager.connect("action-refresh-terminal", self._do_refresh_terminal)
         return self.windowManager
 
     def show_manager(self):
diff -r f4107609ab7d src/virtManager/manager.py
--- a/src/virtManager/manager.py	Wed Mar 12 15:34:41 2008 -0400
+++ b/src/virtManager/manager.py	Thu Mar 13 15:37:31 2008 +0900
@@ -70,6 +70,10 @@ class vmmManager(gobject.GObject):
                                 gobject.TYPE_NONE, (str,str)),
         "action-show-terminal": (gobject.SIGNAL_RUN_FIRST,
                                 gobject.TYPE_NONE, (str,str)),
+        "action-refresh-console": (gobject.SIGNAL_RUN_FIRST,
+                                   gobject.TYPE_NONE, (str,str)),
+        "action-refresh-terminal": (gobject.SIGNAL_RUN_FIRST,
+                                    gobject.TYPE_NONE, (str,str)),
         "action-show-details": (gobject.SIGNAL_RUN_FIRST,
                                 gobject.TYPE_NONE, (str,str)),
         "action-show-about": (gobject.SIGNAL_RUN_FIRST,
@@ -403,6 +407,9 @@ class vmmManager(gobject.GObject):
                 self.emit("action-show-console", uri, vmuuid)
             elif not connect.is_remote():
                 self.emit("action-show-terminal", uri, vmuuid)
+        else:
+            self.emit("action-refresh-console", uri, vmuuid)
+            self.emit("action-refresh-terminal", uri, vmuuid)
 
     def _append_vm(self, model, vm, conn):
         logging.debug("About to append vm: %s" % vm.get_name())
_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux