int opt_child;
int opt_begin;
int opt_all;
-int opt_fd_path;
int quit = 0;
+/* We need at least one valid trace to start processing. */
+int valid_trace = 0;
struct lttngtop *copy;
pthread_t display_thread;
OPT_KPROBES,
OPT_BEGIN,
OPT_ALL,
- OPT_FD_PATH,
};
static struct poptOption long_options[] = {
OPT_RELAY_HOSTNAME, NULL, NULL },
{ "kprobes", 'k', POPT_ARG_STRING, &opt_kprobes, OPT_KPROBES, NULL, NULL },
{ "all", 'a', POPT_ARG_NONE, NULL, OPT_ALL, NULL, NULL },
- { NULL, 'y', POPT_ARG_NONE, NULL, OPT_FD_PATH, NULL, NULL },
{ NULL, 0, 0, NULL, 0, NULL, NULL },
};
syscall_ret = bt_ctf_get_int64(bt_ctf_get_field(call_data,
scope, "_ret"));
- printf("= %" PRId64 " (+%" PRIu64 ".%09" PRIu64 ")\n",
+ printf("= %" PRId64 " (%" PRIu64 ".%09" PRIu64 "s)\n",
syscall_ret, delta / NSEC_PER_SEC,
delta % NSEC_PER_SEC);
last_syscall = NULL;
}
ppid = get_context_ppid(call_data);
if (ppid == -1ULL) {
- goto error;
+ goto end;
}
vpid = get_context_vpid(call_data);
if (pid == -1ULL) {
case OPT_ALL:
opt_all = 1;
break;
- case OPT_FD_PATH:
- opt_fd_path = 1;
- break;
case OPT_CHILD:
opt_child = 1;
break;
ret = -1;
fprintf(stderr, "[error] missing procname context information\n");
}
+ if (ret == 0) {
+ valid_trace = 1;
+ }
end:
return ret;
}
ret = check_requirements(bt_ctx);
- if (ret < 0) {
+ if (ret < 0 && !valid_trace) {
fprintf(stderr, "[error] some mandatory contexts "
"were missing, exiting.\n");
- goto end;
+ //goto end;
}
if (!opt_textdump) {