diff options
author | Max Kellermann <max@duempel.org> | 2008-08-28 20:20:10 +0200 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-09-01 18:35:19 -0700 |
commit | 9e35e50f856038e231e06a5f3d85ff1545053438 (patch) | |
tree | f19ae7f68578a0f4529042291c1b8bf2130edd1a /src | |
parent | 9567f849e514940da6c2c6da52dde932b7b2fb48 (diff) | |
download | mpd-9e35e50f856038e231e06a5f3d85ff1545053438.tar.gz mpd-9e35e50f856038e231e06a5f3d85ff1545053438.tar.xz mpd-9e35e50f856038e231e06a5f3d85ff1545053438.zip |
client: replace "expired" flag with fd==-1
Why waste 4 bytes for a flag which we can hide in another variable.
Diffstat (limited to 'src')
-rw-r--r-- | src/client.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/client.c b/src/client.c index f1e3685c0..ba15a90de 100644 --- a/src/client.c +++ b/src/client.c @@ -66,7 +66,7 @@ struct client { char buffer[CLIENT_MAX_BUFFER_LENGTH]; size_t bufferLength; size_t bufferPos; - int fd; /* file descriptor */ + int fd; /* file descriptor; -1 if expired */ int permission; time_t lastTime; struct strnode *cmd_list; /* for when in list mode */ @@ -76,8 +76,6 @@ struct client { int cmd_list_dup; /* has the cmd_list been copied to private space? */ struct sllnode *deferred_send; /* for output if client is slow */ size_t deferred_bytes; /* mem deferred_send consumes */ - int expired; /* set whether this client should be closed on next - check of old clients */ unsigned int num; /* client number */ char *send_buf; @@ -133,12 +131,15 @@ static void set_send_buf_size(struct client *client) static inline int client_is_expired(const struct client *client) { - return client->expired; + return client->fd < 0; } static inline void client_set_expired(struct client *client) { - client->expired = 1; + if (client->fd >= 0) { + xclose(client->fd); + client->fd = -1; + } } static void client_init(struct client *client, int fd) @@ -156,7 +157,6 @@ static void client_init(struct client *client, int fd) client->cmd_list = NULL; client->cmd_list_tail = NULL; client->deferred_send = NULL; - client->expired = 0; client->deferred_bytes = 0; client->num = next_client_num++; client->send_buf_used = 0; |