diff options
author | Max Kellermann <max@duempel.org> | 2008-08-28 20:20:04 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-08-28 20:20:04 +0200 |
commit | 32bb19d03f9a5898658a10356fc5ad3ca69c089c (patch) | |
tree | 99674e521feadeb59e83dbb9d8ed9204d6524ade | |
parent | 709b795e4aaa1356324253f975b28d1edf59d855 (diff) | |
download | mpd-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.c | 10 |
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) |