summaryrefslogtreecommitdiff
path: root/bufferevent.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-01-06 17:59:44 -0500
committerNick Mathewson <nickm@torproject.org>2010-01-06 17:59:44 -0500
commitba2945f9314fa2f81afe09284d21724d2b5dc31d (patch)
tree43cf9d8bae2e8463cd3ec1bdbc9870646aad1a43 /bufferevent.c
parent0546ce11e88c6c8b20c3ac85cb05fb0155e73a59 (diff)
parent165d30e31a167215c03a9104423f2767c9ff9c9a (diff)
downloadlibevent-ba2945f9314fa2f81afe09284d21724d2b5dc31d.tar.gz
Merge branch 'ratelimit'
Conflicts: bufferevent_async.c
Diffstat (limited to 'bufferevent.c')
-rw-r--r--bufferevent.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bufferevent.c b/bufferevent.c
index c753a867..6e6c4187 100644
--- a/bufferevent.c
+++ b/bufferevent.c
@@ -531,6 +531,15 @@ _bufferevent_decref_and_unlock(struct bufferevent *bufev)
evbuffer_free(bufev->input);
evbuffer_free(bufev->output);
+ if (bufev_private->rate_limiting) {
+ if (bufev_private->rate_limiting->group)
+ bufferevent_remove_from_rate_limit_group(bufev);
+ if (event_initialized(&bufev_private->rate_limiting->refill_bucket_event))
+ event_del(&bufev_private->rate_limiting->refill_bucket_event);
+ mm_free(bufev_private->rate_limiting);
+ bufev_private->rate_limiting = NULL;
+ }
+
BEV_UNLOCK(bufev);
if (bufev_private->own_lock)
EVTHREAD_FREE_LOCK(bufev_private->lock,