projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make lockmem a per job option
[fio.git]
/
init.c
diff --git
a/init.c
b/init.c
index a04198f3e08c77a02a3d2286c350091106e9b086..aa76733d9043d6038ee05c7ef81729503ee58096 100644
(file)
--- a/
init.c
+++ b/
init.c
@@
-40,7
+40,6
@@
struct thread_data *threads = NULL;
int exitall_on_terminate = 0;
int terse_output = 0;
int eta_print;
int exitall_on_terminate = 0;
int terse_output = 0;
int eta_print;
-unsigned long long mlock_size = 0;
FILE *f_out = NULL;
FILE *f_err = NULL;
char **job_sections = NULL;
FILE *f_out = NULL;
FILE *f_err = NULL;
char **job_sections = NULL;
@@
-207,7
+206,7
@@
static struct option l_opts[FIO_NR_OPTIONS] = {
},
};
},
};
-
static void free
_shm(void)
+
void free_threads
_shm(void)
{
struct shmid_ds sbuf;
{
struct shmid_ds sbuf;
@@
-215,11
+214,19
@@
static void free_shm(void)
void *tp = threads;
threads = NULL;
void *tp = threads;
threads = NULL;
+ shmdt(tp);
+ shmctl(shm_id, IPC_RMID, &sbuf);
+ shm_id = -1;
+ }
+}
+
+void free_shm(void)
+{
+ if (threads) {
file_hash_exit();
flow_exit();
fio_debug_jobp = NULL;
file_hash_exit();
flow_exit();
fio_debug_jobp = NULL;
- shmdt(tp);
- shmctl(shm_id, IPC_RMID, &sbuf);
+ free_threads_shm();
}
scleanup();
}
scleanup();