From e63e56c4e3a0d902dada9d47298517afc1aa16a3 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 10 Sep 2008 11:43:09 +0200 Subject: client: simplified client_read() Remove one comparison by changing branch order. --- src/client.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/client.c') diff --git a/src/client.c b/src/client.c index 381b4713b..ce8d731a6 100644 --- a/src/client.c +++ b/src/client.c @@ -453,10 +453,12 @@ static int client_read(struct client *client) if (bytesRead > 0) return client_input_received(client, bytesRead); - else if (bytesRead == 0 || (bytesRead < 0 && errno != EINTR)) { - return COMMAND_RETURN_CLOSE; - } else + else if (bytesRead < 0 && errno == EINTR) + /* try again later, after select() */ return 0; + else + /* peer disconnected or I/O error */ + return COMMAND_RETURN_CLOSE; } static void client_manager_register_read_fd(fd_set * fds, int *fdmax) -- cgit v1.2.3