From 24607a397c5f63c73d82b1ac55ce9b9530187a5f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 29 Apr 2009 20:48:43 +0000 Subject: [PATCH] Note a place we might do better about lock releasing. svn:r1252 --- buffer.c | 2 ++ bufferevent.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/buffer.c b/buffer.c index 16347973..b48d5d4d 100644 --- a/buffer.c +++ b/buffer.c @@ -370,6 +370,8 @@ evbuffer_deferred_callback(struct deferred_cb *cb, void *arg) { struct evbuffer *buffer = arg; + /* XXXX It would be better to run these callbacks without holding the + * lock */ EVBUFFER_LOCK(buffer, EVTHREAD_WRITE); evbuffer_run_callbacks(buffer); _evbuffer_decref_and_unlock(buffer); diff --git a/bufferevent.c b/bufferevent.c index 7f3c240a..21a5e87d 100644 --- a/bufferevent.c +++ b/bufferevent.c @@ -119,6 +119,8 @@ bufferevent_run_deferred_callbacks(struct deferred_cb *_, void *arg) struct bufferevent_private *bufev_private = arg; struct bufferevent *bufev = &bufev_private->bev; + /* XXXX It would be better to run these without holding the + * bufferevent lock */ BEV_LOCK(bufev); if (bufev_private->readcb_pending && bufev->readcb) { bufev_private->readcb_pending = 0;