Commit 4448b17e authored by Max Kellermann's avatar Max Kellermann

don't free client resources except in client_close()

All of the client's resources are freed in client_close(). It is enough to set the "expired" flag, no need to duplicate lots of destruction code again and again.
parent 61443c13
......@@ -670,14 +670,6 @@ static void client_write_deferred(struct client *client)
/* cause client to close */
DEBUG("client %i: problems flushing buffer\n",
client->num);
buf = client->deferred_send;
do {
struct sllnode *prev = buf;
buf = buf->next;
free(prev);
} while (buf);
client->deferred_send = NULL;
client->deferred_bytes = 0;
client->expired = 1;
}
}
......@@ -747,13 +739,6 @@ static void client_write_output(struct client *client)
(unsigned long)client_max_output_buffer_size);
/* cause client to close */
client->expired = 1;
do {
struct sllnode *prev = buf;
buf = buf->next;
free(prev);
} while (buf);
client->deferred_send = NULL;
client->deferred_bytes = 0;
} else {
while (buf->next)
buf = buf->next;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment