Add FIO_SIGQUIT engine option
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index fcd15286a95b971692b5ca65af9de34e2bfd5662..355d8730862643eb02aff27a90d56f1188818572 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -73,13 +73,17 @@ static void terminate_threads(int group_id)
        for_each_td(td, i) {
                if (group_id == TERMINATE_ALL || groupid == td->groupid) {
                        dprint(FD_PROCESS, "setting terminate on %d\n",td->pid);
+
+                       td->terminate = 1;
+                       td->o.start_delay = 0;
+
                        /*
                         * if the thread is running, just let it exit
                         */
                        if (td->runstate < TD_RUNNING)
                                kill(td->pid, SIGQUIT);
-                       td->terminate = 1;
-                       td->o.start_delay = 0;
+                       else if (td->io_ops->flags & FIO_SIGQUIT)
+                               kill(td->pid, SIGQUIT);
                }
        }
 }