From: Jens Axboe Date: Wed, 13 Jan 2016 16:40:51 +0000 (-0700) Subject: Destroy sk_out server key when we are done X-Git-Tag: fio-2.4~8 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=518a1cf0f5a201843197c1e2aa860008a9a58e88 Destroy sk_out server key when we are done Signed-off-by: Jens Axboe --- diff --git a/fio.c b/fio.c index 44354e28..69014ddb 100644 --- a/fio.c +++ b/fio.c @@ -43,7 +43,7 @@ int main(int argc, char *argv[], char *envp[]) goto done; if (parse_options(argc, argv)) - goto done; + goto done_key; /* * line buffer stdout to avoid output lines from multiple @@ -57,11 +57,13 @@ int main(int argc, char *argv[], char *envp[]) set_genesis_time(); if (fio_start_all_clients()) - goto done; + goto done_key; ret = fio_handle_clients(&fio_client_ops); } else ret = fio_backend(NULL); +done_key: + fio_server_destroy_sk_key(); done: deinitialize_fio(); return ret; diff --git a/server.c b/server.c index 120400f9..a593a73f 100644 --- a/server.c +++ b/server.c @@ -2186,6 +2186,11 @@ static void set_sig_handlers(void) sigaction(SIGINT, &act, NULL); } +void fio_server_destroy_sk_key(void) +{ + pthread_key_delete(sk_out_key); +} + int fio_server_create_sk_key(void) { if (pthread_key_create(&sk_out_key, NULL)) { diff --git a/server.h b/server.h index 0e60750f..12c72759 100644 --- a/server.h +++ b/server.h @@ -221,6 +221,7 @@ extern void fio_server_send_start(struct thread_data *); extern int fio_net_send_quit(int sk); extern int fio_server_create_sk_key(void); +extern void fio_server_destroy_sk_key(void); extern int exit_backend; extern int fio_net_port;