X-Git-Url: http://git.annexia.org/?p=virt-top.git;a=blobdiff_plain;f=virt-top%2Fvirt_top_main.ml;h=bd9b57594ca88b41245274087a27178032e8c2a2;hp=ba98e7e5e2533da1d05ee125996aad3fb7b684ce;hb=3d870f4841bb81800baeccaa531667b23e15d9d1;hpb=22fd1362126a96472a921d3767ca3220ab13da5a diff --git a/virt-top/virt_top_main.ml b/virt-top/virt_top_main.ml index ba98e7e..bd9b575 100644 --- a/virt-top/virt_top_main.ml +++ b/virt-top/virt_top_main.ml @@ -1,5 +1,5 @@ (* 'top'-like tool for libvirt domains. - (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. + (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.org/ This program is free software; you can redistribute it and/or modify @@ -21,6 +21,7 @@ open Curses +open Virt_top_gettext.Gettext open Virt_top (* Note: make sure we catch any exceptions and clean up the display. @@ -30,20 +31,23 @@ open Virt_top * the program under --debug ...). *) let error = - let ((_, _, script_mode, _, _, _, _) as setup) = start_up () in + let ((_, _, script_mode, _, stream_mode, _, _, _) as setup) = start_up () in try + Printexc.record_backtrace true; main_loop setup; - if not script_mode then endwin (); + if not script_mode && not stream_mode then endwin (); false with | Libvirt.Virterror err -> - if not script_mode then endwin (); + if not script_mode && not stream_mode then endwin (); prerr_endline (Libvirt.Virterror.to_string err); + Printexc.print_backtrace stderr; true | exn -> - if not script_mode then endwin (); - prerr_endline ("Error: " ^ Printexc.to_string exn); + if not script_mode && not stream_mode then endwin (); + prerr_endline (s_ "Error" ^ ": " ^ Printexc.to_string exn); + Printexc.print_backtrace stderr; true let () =