unsigned int current_display_index = 0;
sem_wait(&bootstrap);
+ /*
+ * Prevent the 1 second delay when we hit ESC
+ */
+ ESCDELAY = 0;
init_ncurses();
while (1) {
ret->visible = 1;
g_hash_table_insert(table, (gpointer) strdup(name), ret);
- global = g_hash_table_lookup(lttngtop.perf_list, (gpointer) name);
+ global = g_hash_table_lookup(global_perf_liszt, (gpointer) name);
if (!global) {
global = g_new0(struct perfcounter, 1);
memcpy(global, ret, sizeof(struct perfcounter));
/* by default, sort on the first perf context */
- if (g_hash_table_size(lttngtop.perf_list) == 0)
+ if (g_hash_table_size(global_perf_liszt) == 0)
global->sort = 1;
- g_hash_table_insert(lttngtop.perf_list, (gpointer) strdup(name), global);
+ g_hash_table_insert(global_perf_liszt, (gpointer) strdup(name), global);
}
end:
void init_lttngtop()
{
copies = g_ptr_array_new();
- lttngtop.perf_list = g_hash_table_new(g_str_hash, g_str_equal);
+ global_perf_liszt = g_hash_table_new(g_str_hash, g_str_equal);
sem_init(&goodtodisplay, 0, 0);
sem_init(&goodtoupdate, 0, 1);
GArray *trace_ids;
char lpath[PATH_MAX];
char * const paths[2] = { lpath, NULL };
- int ret;
+ int ret = -1;
/*
* Need to copy path, because fts_open can change it.
node->fts_accpath, format_str,
packet_seek, NULL, NULL);
if (trace_id < 0) {
- fprintf(stderr, "[error] [Context] opening trace \"%s\" from %s "
+ fprintf(stderr, "[warning] [Context] opening trace \"%s\" from %s "
"for reading.\n", node->fts_accpath, path);
- ret = trace_id;
- goto error;
+ /* Allow to skip erroneous traces. */
+ continue;
}
g_array_append_val(trace_ids, trace_id);
}
}
g_array_free(trace_ids, TRUE);
- return 0;
+ return ret;
error:
return ret;
ret = check_requirements(bt_ctx);
if (ret < 0) {
- fprintf(stderr, "[error] missing mandatory context informations\n");
+ fprintf(stderr, "[error] some mandatory contexts were missing, exiting.\n");
goto end;
}