backend: dump state of stuck thread
[fio.git] / backend.c
index efedb5329d65a9bc224047ffe43027ca21f290f1..243ddd393a576d6cc19d6a79385467ea9a5ee165 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -1705,6 +1705,8 @@ static void *thread_main(void *data)
                        break;
        }
 
+       td_set_runstate(td, TD_FINISHING);
+
        update_rusage_stat(td);
        td->ts.total_run_time = mtime_since_now(&td->epoch);
        td->ts.io_bytes[DDIR_READ] = td->io_bytes[DDIR_READ];
@@ -1813,8 +1815,9 @@ static int fork_main(struct sk_out *sk_out, int shmid, int offset)
 
 static void dump_td_info(struct thread_data *td)
 {
-       log_err("fio: job '%s' hasn't exited in %lu seconds, it appears to "
-               "be stuck. Doing forceful exit of this job.\n", td->o.name,
+       log_err("fio: job '%s' (state=%d) hasn't exited in %lu seconds, it "
+               "appears to be stuck. Doing forceful exit of this job.\n",
+                       td->o.name, td->runstate,
                        (unsigned long) time_since_now(&td->terminate_time));
 }