diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-01-06 17:59:44 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-01-06 17:59:44 -0500 |
commit | ba2945f9314fa2f81afe09284d21724d2b5dc31d (patch) | |
tree | 43cf9d8bae2e8463cd3ec1bdbc9870646aad1a43 /bufferevent.c | |
parent | 0546ce11e88c6c8b20c3ac85cb05fb0155e73a59 (diff) | |
parent | 165d30e31a167215c03a9104423f2767c9ff9c9a (diff) | |
download | libevent-ba2945f9314fa2f81afe09284d21724d2b5dc31d.tar.gz |
Merge branch 'ratelimit'
Conflicts:
bufferevent_async.c
Diffstat (limited to 'bufferevent.c')
-rw-r--r-- | bufferevent.c | 9 |
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, |