server: exit gracefully on ctrl-c
authorJens Axboe <axboe@kernel.dk>
Sat, 1 Oct 2011 18:36:32 +0000 (12:36 -0600)
committerJens Axboe <axboe@kernel.dk>
Sat, 1 Oct 2011 18:36:32 +0000 (12:36 -0600)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
init.c
server.c

diff --git a/init.c b/init.c
index 1dcb4904da330dd090cba383dcce9c1471b6e523..623d4a12c9c76efddfbe070a4a8ff3b64d3b4ad8 100644 (file)
--- a/init.c
+++ b/init.c
@@ -1385,11 +1385,12 @@ int parse_options(int argc, char *argv[])
                if (nr_clients) {
                        if (fio_clients_send_ini(ini_file[i]))
                                return 1;
-               } else {
+                       free(ini_file[i]);
+               } else if (!is_backend) {
                        if (parse_jobs_ini(ini_file[i], 0, i))
                                return 1;
+                       free(ini_file[i]);
                }
-               free(ini_file[i]);
        }
 
        free(ini_file);
index 38698bc3a126f8df9979a3c8af562f844c18c3d0..ca37e3f6b9dd89894dd5babea42c4670fa8aaf7a 100644 (file)
--- a/server.c
+++ b/server.c
@@ -409,7 +409,10 @@ int fio_server(void)
 
 int fio_server_text_output(const char *buf, unsigned int len)
 {
-       return fio_net_send_cmd(server_fd, FIO_NET_CMD_TEXT, buf, len);
+       if (server_fd != -1)
+               return fio_net_send_cmd(server_fd, FIO_NET_CMD_TEXT, buf, len);
+
+       return 0;
 }
 
 int fio_server_log(const char *format, ...)