From: Jens Axboe Date: Sat, 1 Oct 2011 14:31:30 +0000 (-0600) Subject: server: quit client when job run is complete X-Git-Tag: fio-1.99~75 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=437377e14010f4443bd0fd1b40c4e75885520d7d;p=fio.git server: quit client when job run is complete Signed-off-by: Jens Axboe --- diff --git a/client.c b/client.c index dfc172ea..b47624b5 100644 --- a/client.c +++ b/client.c @@ -128,6 +128,10 @@ int fio_handle_clients(void) free(cmd); continue; } + if (cmd->opcode == FIO_NET_CMD_QUIT) { + free(cmd); + break; + } if (cmd->opcode != FIO_NET_CMD_TEXT) { printf("non text: %d\n", cmd->opcode); free(cmd); diff --git a/server.c b/server.c index fe93ffbe..e7b77417 100644 --- a/server.c +++ b/server.c @@ -189,6 +189,11 @@ static int nak_command(int sk, struct fio_net_cmd *cmd) } #endif +static int send_quit_command(void) +{ + return send_simple_command(server_fd, FIO_NET_CMD_QUIT, 0); +} + static int handle_cur_job(struct fio_net_cmd *cmd, int done) { unsigned int left = job_max_len - job_cur_len; @@ -205,6 +210,7 @@ static int handle_cur_job(struct fio_net_cmd *cmd, int done) if (done) { parse_jobs_ini(job_buf, 1, 0); ret = exec_run(); + send_quit_command(); reset_fio_state(); free(job_buf); job_buf = NULL;