server: make client connections fork off

Instead of handling connections inline from the server, fork
them off before running them. This makes the able to handle
the idle loop command send/reply directly, without being
invoked from the idle loop.

New connections are forked off automatically as well, leaving
the server free to accept new connections. Not sure we want that,
or at least it should be an option to return BUSY on attempted
new connections.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/client.c b/client.c
index 6230a66..b553b05 100644
--- a/client.c
+++ b/client.c
@@ -373,7 +373,7 @@
 
 void fio_client_terminate(struct fio_client *client)
 {
-	fio_net_send_simple_cmd(client->fd, FIO_NET_CMD_QUIT, 0, NULL);
+	fio_net_send_quit(client->fd);
 }
 
 void fio_clients_terminate(void)
@@ -1118,7 +1118,8 @@
 
 		convert_stop(cmd);
 		client->state = Client_stopped;
-		client->error = pdu->error;
+		client->error = le32_to_cpu(pdu->error);
+		client->signal = le32_to_cpu(pdu->signal);
 		ops->stop(client, cmd);
 		free(cmd);
 		break;