Add hweight64()
[fio.git] / libfio.c
index ee5a0ead1707f66fc7418c2b0b964d72727912ee..8255072e4806ed2b871db7077fcaed62a0f92299 100644 (file)
--- a/libfio.c
+++ b/libfio.c
@@ -82,7 +82,7 @@ static void reset_io_counters(struct thread_data *td)
        /*
         * reset file done count if we are to start over
         */
-       if (td->o.time_based || td->o.loops)
+       if (td->o.time_based || td->o.loops || td->o.do_verify)
                td->nr_done_files = 0;
 }
 
@@ -177,15 +177,15 @@ void fio_terminate_threads(int group_id)
                        /*
                         * if the thread is running, just let it exit
                         */
-                       if (!td->pid)
+                       if (!td->pid || pid == td->pid)
                                continue;
                        else if (td->runstate < TD_RAMP)
                                kill(td->pid, SIGTERM);
-                       else if (pid != td->pid) {
+                       else {
                                struct ioengine_ops *ops = td->io_ops;
 
-                               if (ops && (ops->flags & FIO_SIGTERM))
-                                       kill(td->pid, SIGTERM);
+                               if (ops && ops->terminate)
+                                       ops->terminate(td);
                        }
                }
        }