virt-top: fix to explicitly disconnect from libvirtd
authorYuya Higashi <higashi.yuya@fujitsu.com>
Tue, 15 Nov 2022 04:56:21 +0000 (13:56 +0900)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 23 Nov 2022 14:10:48 +0000 (14:10 +0000)
To prevent libvirtd from printing virNetSocketReadWire I/O errors when
the virt-top command exits, explicitly disconnect from libvirtd.

Signed-off-by: Yuya Higashi <higashi.yuya@fujitsu.com>
src/top.ml

index 75fbcb9..cbe655a 100644 (file)
@@ -306,7 +306,7 @@ let get_string maxlen =
   )
 
 (* Main loop. *)
-let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, _)
+let rec main_loop ((conn, batch_mode, script_mode, csv_enabled, stream_mode, _, _, _)
                     as setup) =
   let csv_flags = !csv_cpu, !csv_mem, !csv_block, !csv_net in
 
@@ -372,7 +372,8 @@ let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _,
       if not !quit || !end_time <> None then
        millisleep delay
     )
-  done
+  done;
+  C.close conn
 
 and get_key_press setup delay =
   (* Read the next key, waiting up to 'delay' milliseconds. *)