backend.c: release memory occupied by the parent process for options
ioengines.c: free_ioengine entry point is protected by 'assert' call
upon td and td->io_ops
Signed-off-by: Denis Pronin <dannftk@yandex.ru>
} else {
pid_t pid;
struct fio_file **files;
+ void *eo;
dprint(FD_PROCESS, "will fork\n");
files = td->files;
+ eo = td->eo;
read_barrier();
pid = fork();
if (!pid) {
// freeing previously allocated memory for files
// this memory freed MUST NOT be shared between processes, only the pointer itself may be shared within TD
free(files);
+ free(eo);
free(fd);
fd = NULL;
}
*/
void free_ioengine(struct thread_data *td)
{
+ assert(td != NULL && td->io_ops != NULL);
+
dprint(FD_IO, "free ioengine %s\n", td->io_ops->name);
if (td->eo && td->io_ops->options) {