backport error handling add_trace_recursive from babeltrace
[lttngtop.git] / src / lttngtop.c
index f659b52e182bf14f28bf3fe8a6b1b4b800ab07a7..092ebdf99d17e1bd9af2ff31c57bf6e3414bb741 100644 (file)
@@ -476,7 +476,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
        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.
@@ -532,23 +532,23 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
                                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;
 }
 
-int check_field_requirements(const struct bt_ctf_field_decl *const * field_list,
+static int check_field_requirements(const struct bt_ctf_field_decl *const * field_list,
                int field_cnt, int *tid_check, int *pid_check,
                int *procname_check, int *ppid_check)
 {
@@ -586,8 +586,6 @@ int check_field_requirements(const struct bt_ctf_field_decl *const * field_list,
  *
  * If each mandatory context information is available for at least in one
  * event, return 0 otherwise return -1.
- * Also, we make here a list for all the perf counters available during the
- * trace.
  */
 int check_requirements(struct bt_context *ctx)
 {
This page took 0.023209 seconds and 4 git commands to generate.