diff --git a/examples/bdev/bdevperf/bdevperf.c b/examples/bdev/bdevperf/bdevperf.c index 0fa342f8d..7697a313c 100644 --- a/examples/bdev/bdevperf/bdevperf.c +++ b/examples/bdev/bdevperf/bdevperf.c @@ -370,6 +370,12 @@ bdevperf_job_free(struct bdevperf_job *job) free(job); } +static void +job_thread_exit(void *ctx) +{ + spdk_thread_exit(spdk_get_thread()); +} + static void bdevperf_test_done(void *ctx) { @@ -407,6 +413,8 @@ bdevperf_test_done(void *ctx) performance_dump_job(&g_stats, job); + spdk_thread_send_msg(job->thread, job_thread_exit, NULL); + TAILQ_FOREACH_SAFE(task, &job->task_list, link, ttmp) { TAILQ_REMOVE(&job->task_list, task, link); spdk_free(task->buf);