From 4448b17e2ec03f5544ab7076571aa661ff3e6ec0 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 28 Aug 2008 20:03:49 +0200 Subject: 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. --- src/client.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/client.c b/src/client.c index 54867044c..b646a1b67 100644 --- a/src/client.c +++ b/src/client.c @@ -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; -- cgit v1.2.3