X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=fio.c;h=bd3e260b40cfd575030c3276e247f8f4f28ec0f0;hb=f1480f98ae77ccb23888028563c5ae117d939e55;hp=7e6b06d3793ffe6a0db4a186a263c1b144afb579;hpb=d7213923067aa49922962a469a691c3ec951064d;p=fio.git diff --git a/fio.c b/fio.c index 7e6b06d3..bd3e260b 100644 --- a/fio.c +++ b/fio.c @@ -30,6 +30,8 @@ int main(int argc, char *argv[], char *envp[]) { + int ret = 1; + if (initialize_fio(envp)) return 1; @@ -38,14 +40,26 @@ int main(int argc, char *argv[], char *envp[]) #endif if (parse_options(argc, argv)) - return 1; + goto done; + + /* + * line buffer stdout to avoid output lines from multiple + * threads getting mixed + */ + setvbuf(stdout, NULL, _IOLBF, 0); fio_time_init(); if (nr_clients) { + set_genesis_time(); + if (fio_start_all_clients()) - return 1; - return fio_handle_clients(&fio_client_ops); + goto done; + ret = fio_handle_clients(&fio_client_ops); } else - return fio_backend(); + ret = fio_backend(NULL); + +done: + deinitialize_fio(); + return ret; }