Fix segfault is bool option is used on command line and fails parsing
[fio.git] / backend.c
index 4d4e8efda0601f43e5400163b56af2e16f2e4110..8787cce6d7e093c0f52733b3e5d24cbdb94ef543 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -822,6 +822,8 @@ sync_done:
                        if (!(b % td->o.thinktime_blocks)) {
                                int left;
 
+                               io_u_quiesce(td);
+
                                if (td->o.thinktime_spin)
                                        usec_spin(td->o.thinktime_spin);
 
@@ -1552,6 +1554,7 @@ reaped:
                        exit_value++;
 
                done_secs += mtime_since_now(&td->epoch) / 1000;
+               profile_td_exit(td);
        }
 
        if (*nr_running == cputhreads && !pending && realthreads)
@@ -1895,6 +1898,7 @@ int fio_backend(void)
                return 1;
 
        set_genesis_time();
+       stat_init();
        create_disk_util_thread();
 
        cgroup_list = smalloc(sizeof(*cgroup_list));
@@ -1924,5 +1928,6 @@ int fio_backend(void)
        fio_mutex_remove(startup_mutex);
        fio_mutex_remove(writeout_mutex);
        fio_mutex_remove(disk_thread_mutex);
+       stat_exit();
        return exit_value;
 }