* virt-top/virt_top.ml: Ignore transient error from
authorRichard W.M. Jones <rjones@redhat.com>
Wed, 19 Sep 2007 18:17:40 +0000 (19:17 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 19 Sep 2007 18:17:40 +0000 (19:17 +0100)
  C.num_of_defined_domains when it cannot contact xend; that
  was causing virt-top to exit when xend was restarted.

ChangeLog
virt-top/virt_top.ml

index dc30cd4..8cd4151 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-09-19  Richard Jones  <rjones@redhat.com>
+
+       * virt-top/virt_top.ml: Ignore transient error from
+         C.num_of_defined_domains when it cannot contact xend; that
+         was causing virt-top to exit when xend was restarted.
+
 2007-09-18  Richard Jones  <rjones@redhat.com>
 
        * virt-df/virt_df.ml: Handle domains with partition-backed
index e2a7435..a621a18 100644 (file)
@@ -486,11 +486,18 @@ let redraw, clear_pcpu_display_data =
        ) ids in
 
       (* Inactive domains. *)
-      let n = C.num_of_defined_domains conn in
-      let names =
-       if n > 0 then Array.to_list (C.list_defined_domains conn n)
-       else [] in
-      let doms_inactive = List.map (fun name -> name, Inactive) names in
+      let doms_inactive =
+       try
+         let n = C.num_of_defined_domains conn in
+         let names =
+           if n > 0 then Array.to_list (C.list_defined_domains conn n)
+           else [] in
+         List.map (fun name -> name, Inactive) names
+       with
+         (* Ignore transient errors, in particular errors from
+          * num_of_defined_domains if it cannot contact xend.
+          *)
+       | Libvirt.Virterror _ -> [] in
 
       doms @ doms_inactive in