X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=stat.c;h=949af5edd49ffa05dfa16bbef70c7d1037de8261;hb=855dc4d44e000b68c01b0e33eae3389b49eb7f7f;hp=7947edb42fd898b56e21be711c4db30ea25ebdea;hpb=fc002f14a773b7fab28c92ff4d6eeba25c2951ea;p=fio.git diff --git a/stat.c b/stat.c index 7947edb4..949af5ed 100644 --- a/stat.c +++ b/stat.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -1698,6 +1699,7 @@ static struct json_object *show_thread_status_json(struct thread_stat *ts, if (je) { json_object_add_value_int(root, "eta", je->eta_sec); json_object_add_value_int(root, "elapsed", je->elapsed_sec); + free(je); } if (opt_list) @@ -2731,6 +2733,9 @@ int __show_running_run_stats(void) fio_gettime(&ts, NULL); for_each_td(td, i) { + if (td->runstate >= TD_EXITED) + continue; + td->update_rusage = 1; for_each_rw_ddir(ddir) { td->ts.io_bytes[ddir] = td->io_bytes[ddir]; @@ -2759,6 +2764,9 @@ int __show_running_run_stats(void) __show_run_stats(); for_each_td(td, i) { + if (td->runstate >= TD_EXITED) + continue; + if (td_read(td) && td->ts.io_bytes[DDIR_READ]) td->ts.runtime[DDIR_READ] -= rt[i]; if (td_write(td) && td->ts.io_bytes[DDIR_WRITE])