From 9ceadb0561d416b3f729fe3471aa7c4ec3ad1456 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') diff --git a/src/client.c b/src/client.c index d5a7ce616..ac7e44b9a 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