aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-28 20:20:04 +0200
committerMax Kellermann <max@duempel.org>2008-08-28 20:20:04 +0200
commit32bb19d03f9a5898658a10356fc5ad3ca69c089c (patch)
tree99674e521feadeb59e83dbb9d8ed9204d6524ade
parent709b795e4aaa1356324253f975b28d1edf59d855 (diff)
downloadmpd-32bb19d03f9a5898658a10356fc5ad3ca69c089c.tar.gz
mpd-32bb19d03f9a5898658a10356fc5ad3ca69c089c.tar.xz
mpd-32bb19d03f9a5898658a10356fc5ad3ca69c089c.zip
client: use client_defer_output() in client_write()
Eliminate duplicated code, call client_defer_output() which we splitted from client_write_output() earlier.
-rw-r--r--src/client.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/client.c b/src/client.c
index f8e475a2d..43983dc99 100644
--- a/src/client.c
+++ b/src/client.c
@@ -753,22 +753,18 @@ static void client_write(struct client *client,
if ((ret = write(client->fd, data, length)) < 0) {
if (errno == EAGAIN || errno == EINTR) {
- client->deferred_send = new_sllnode(data, length);
+ client_defer_output(client, data, length);
} else {
DEBUG("client %i: problems writing\n", client->num);
client->expired = 1;
return;
}
} else if ((size_t)ret < client->send_buf_used) {
- client->deferred_send = new_sllnode(data + ret, length - ret);
+ client_defer_output(client, data + ret, length - ret);
}
- if (client->deferred_send) {
+ if (client->deferred_send)
DEBUG("client %i: buffer created\n", client->num);
- client->deferred_bytes =
- client->deferred_send->size
- + sizeof(struct sllnode);
- }
}
static void client_write_output(struct client *client)