diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2010-06-16 16:29:16 -0400 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2010-06-16 16:35:59 -0400 |
| commit | 22be8b7ddcb744cc206bc369ab4c2e2a4e16f45d (patch) | |
| tree | 9f05d629020a92d5d2ed45da0ec7a813f18c2f10 | |
| parent | b4c297ef8fb24e1b3923a16d3e7267320a3d0f83 (diff) | |
kernelshark: Show only one pop up warning message after loading file
Instead of showing every little error that happened while loading
a trace file, show only one message at the end. Have the warnings
go to the display status and the user can reference them there.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rw-r--r-- | kernel-shark.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel-shark.c b/kernel-shark.c index 0c50849..87e4c40 100644 --- a/kernel-shark.c +++ b/kernel-shark.c | |||
| @@ -65,6 +65,8 @@ void usage(char *prog) | |||
| 65 | printf(" -i input_file, default is %s\n", default_input_file); | 65 | printf(" -i input_file, default is %s\n", default_input_file); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | static gboolean display_warnings; | ||
| 69 | |||
| 68 | /* | 70 | /* |
| 69 | * trace_sync_select_menu - helper function to the syncing of list and graph filters | 71 | * trace_sync_select_menu - helper function to the syncing of list and graph filters |
| 70 | * | 72 | * |
| @@ -284,6 +286,12 @@ static void sync_event_filters(struct shark_info *info) | |||
| 284 | gtk_widget_hide(info->list_adv_events_menu); | 286 | gtk_widget_hide(info->list_adv_events_menu); |
| 285 | } | 287 | } |
| 286 | 288 | ||
| 289 | static void alt_warn(const char *fmt, va_list ap) | ||
| 290 | { | ||
| 291 | display_warnings = TRUE; | ||
| 292 | vpr_stat(fmt, ap); | ||
| 293 | } | ||
| 294 | |||
| 287 | /** | 295 | /** |
| 288 | * kernelshark_load_file - load a new file into kernelshark | 296 | * kernelshark_load_file - load a new file into kernelshark |
| 289 | * @info: the kernelshark descriptor | 297 | * @info: the kernelshark descriptor |
| @@ -295,7 +303,20 @@ int kernelshark_load_file(struct shark_info *info, const char *file) | |||
| 295 | { | 303 | { |
| 296 | struct tracecmd_input *handle; | 304 | struct tracecmd_input *handle; |
| 297 | 305 | ||
| 306 | /* | ||
| 307 | * Have warnings go into the status bar. If we had any | ||
| 308 | * warnings, pop up a message at the end. | ||
| 309 | */ | ||
| 310 | display_warnings = 0; | ||
| 311 | pr_stat("\nLoading file %s", file); | ||
| 312 | trace_dialog_register_alt_warning(alt_warn); | ||
| 298 | handle = tracecmd_open(file); | 313 | handle = tracecmd_open(file); |
| 314 | trace_dialog_register_alt_warning(NULL); | ||
| 315 | if (display_warnings) { | ||
| 316 | errno = 0; | ||
| 317 | warning("Warnings occurred on loading.\n" | ||
| 318 | "See display status for details"); | ||
| 319 | } | ||
| 299 | if (!handle) | 320 | if (!handle) |
| 300 | return -1; | 321 | return -1; |
| 301 | 322 | ||
