X-Git-Url: http://git.annexia.org/?p=virt-top.git;a=blobdiff_plain;f=virt-top%2Fvirt_top_main.ml;h=4e5c07b6c8cb3e3fae2f42576dd4da8afe4f3867;hp=32f5b5be08d6b82142f29b255296ce273d8d741f;hb=1f3c5a55e0dbbab20fcd23cd81689e0f6ca72669;hpb=6116cbd975924cc971e1eff565fee63ced296d5c diff --git a/virt-top/virt_top_main.ml b/virt-top/virt_top_main.ml index 32f5b5b..4e5c07b 100644 --- a/virt-top/virt_top_main.ml +++ b/virt-top/virt_top_main.ml @@ -1,11 +1,27 @@ (* 'top'-like tool for libvirt domains. - * $Id: virt_top_main.ml,v 1.2 2007/08/30 13:16:57 rjones Exp $ - * - * Just contains the main function. - *) + (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 + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + Just contains the main function. +*) open Curses +open Virt_top_gettext.Gettext open Virt_top (* Note: make sure we catch any exceptions and clean up the display. @@ -15,20 +31,23 @@ open Virt_top * the program under --debug ...). *) let error = - let setup = start_up () in + let ((_, _, script_mode, _, _, _, _) as setup) = start_up () in try + Printexc.record_backtrace true; main_loop setup; - endwin (); + if not script_mode then endwin (); false with | Libvirt.Virterror err -> - endwin (); + if not script_mode then endwin (); prerr_endline (Libvirt.Virterror.to_string err); + Printexc.print_backtrace stderr; true | exn -> - endwin (); - prerr_endline ("Error: " ^ Printexc.to_string exn); + if not script_mode then endwin (); + prerr_endline (s_ "Error" ^ ": " ^ Printexc.to_string exn); + Printexc.print_backtrace stderr; true let () =