summaryrefslogtreecommitdiff
path: root/evrpc.c
diff options
context:
space:
mode:
authorNiels Provos <provos@gmail.com>2008-12-19 21:03:42 +0000
committerNiels Provos <provos@gmail.com>2008-12-19 21:03:42 +0000
commit8c594168785feb1b899350b03538ed24756d3be6 (patch)
treeb76db9a6810ea98f3d0a4ffdb3876be8022b9997 /evrpc.c
parent77867244a9bb7af857a198cfc2ed08227895e88f (diff)
downloadlibevent-8c594168785feb1b899350b03538ed24756d3be6.tar.gz
memory leak: forgot to free paused rpcs in server
svn:r962
Diffstat (limited to 'evrpc.c')
-rw-r--r--evrpc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/evrpc.c b/evrpc.c
index fd3b93f0..5fd0df21 100644
--- a/evrpc.c
+++ b/evrpc.c
@@ -92,10 +92,15 @@ evrpc_free(struct evrpc_base *base)
{
struct evrpc *rpc;
struct evrpc_hook *hook;
+ struct evrpc_hook_ctx *pause;
while ((rpc = TAILQ_FIRST(&base->registered_rpcs)) != NULL) {
assert(evrpc_unregister_rpc(base, rpc->uri));
}
+ while ((pause = TAILQ_FIRST(&base->paused_requests)) != NULL) {
+ TAILQ_REMOVE(&base->paused_requests, pause, next);
+ mm_free(pause);
+ }
while ((hook = TAILQ_FIRST(&base->input_hooks)) != NULL) {
assert(evrpc_remove_hook(base, EVRPC_INPUT, hook));
}