client: fixup quit

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/client.c b/client.c
index cb22931..459c300 100644
--- a/client.c
+++ b/client.c
@@ -309,6 +309,7 @@
 static int handle_client(struct fio_client *client)
 {
 	struct fio_net_cmd *cmd;
+	int done = 0;
 
 	while ((cmd = fio_net_recv_cmd(client->fd)) != NULL) {
 		dprint(FD_NET, "%s: got cmd op %d\n", client->hostname,
@@ -321,6 +322,7 @@
 		case FIO_NET_CMD_QUIT:
 			remove_client(client);
 			free(cmd);
+			done = 1;
 			break;
 		case FIO_NET_CMD_TEXT:
 			fwrite(cmd->payload, cmd->pdu_len, 1, stdout);
@@ -340,6 +342,9 @@
 			free(cmd);
 			break;
 		}
+
+		if (done)
+			break;
 	}
 
 	return 0;