Пример #1
0
static void free_worker(struct submit_worker *sw)
{
	struct thread_data *td = &sw->td;

	fio_options_free(td);
	close_and_free_files(td);
	if (td->io_ops)
		close_ioengine(td);
	td_set_runstate(td, TD_EXITED);

	pthread_cond_destroy(&sw->cond);
	pthread_mutex_destroy(&sw->lock);
}
Пример #2
0
static void io_workqueue_exit_worker_fn(struct submit_worker *sw,
                                        unsigned int *sum_cnt)
{
    struct thread_data *td = sw->priv;

    (*sum_cnt)++;
    sum_thread_stats(&sw->wq->td->ts, &td->ts, *sum_cnt == 1);

    fio_options_free(td);
    close_and_free_files(td);
    if (td->io_ops)
        close_ioengine(td);
    td_set_runstate(td, TD_EXITED);
}