From 56f9498d8588d42df2a41a7eb7ebcffef013a339 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 24 Oct 2006 09:33:42 +0200 Subject: [PATCH] [PATCH] Revert some of the leak fixes If the options are given as part of the global thread, the others inherit the memory and thus cannot free it. Since it doesn't matter a lot (we are talking a few hundred bytes), just leave the memory as-is. Signed-off-by: Jens Axboe --- fio.c | 18 ++++-------------- log.c | 2 -- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/fio.c b/fio.c index f81aec59..5673d9ef 100644 --- a/fio.c +++ b/fio.c @@ -586,14 +586,8 @@ static void *thread_main(void *data) if (init_random_state(td)) goto err; - if (td->ioscheduler) { - int ret = switch_ioscheduler(td); - - free(td->ioscheduler); - free(td->sysfs_root); - if (ret) - goto err; - } + if (td->ioscheduler && switch_ioscheduler(td)) + goto err; td_set_runstate(td, TD_INITIALIZED); fio_sem_up(&startup_sem); @@ -604,10 +598,8 @@ static void *thread_main(void *data) gettimeofday(&td->epoch, NULL); - if (td->exec_prerun) { + if (td->exec_prerun) system(td->exec_prerun); - free(td->exec_prerun); - } while (td->loops--) { getrusage(RUSAGE_SELF, &td->ru_start); @@ -656,10 +648,8 @@ static void *thread_main(void *data) finish_log(td, td->clat_log, "clat"); if (td->write_iolog) write_iolog_close(td); - if (td->exec_postrun) { + if (td->exec_postrun) system(td->exec_postrun); - free(td->exec_postrun); - } if (exitall_on_terminate) terminate_threads(td->groupid); diff --git a/log.c b/log.c index 91ac0830..17a4cdf7 100644 --- a/log.c +++ b/log.c @@ -177,8 +177,6 @@ int init_iolog(struct thread_data *td) else if (td->write_iolog) ret = init_iolog_write(td); - free(td->iolog_file); - td->iolog_file = NULL; return 0; } -- 2.25.1