server: quit on !block and backend exit
authorJens Axboe <axboe@kernel.dk>
Wed, 5 Oct 2011 20:05:37 +0000 (22:05 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 5 Oct 2011 20:05:37 +0000 (22:05 +0200)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
server.c

index 2aff0625092c78ab01229380460a9400cdf7d695..6f216d5d1aa83d794b75ca94e2c9668a196ea86b 100644 (file)
--- a/server.c
+++ b/server.c
@@ -358,8 +358,11 @@ static int handle_connection(int sk, int block)
                                        break;
                                log_err("fio: poll: %s\n", strerror(errno));
                                break;
-                       } else if (!ret)
+                       } else if (!ret) {
+                               if (!block)
+                                       return 0;
                                continue;
+                       }
 
                        if (pfd.revents & POLLIN)
                                break;
@@ -367,7 +370,7 @@ static int handle_connection(int sk, int block)
                                ret = 1;
                                break;
                        }
-               } while (1);
+               } while (!exit_backend);
 
                if (ret < 0)
                        break;