mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-09 12:28:19 -04:00
Note a place we might do better about lock releasing.
svn:r1252
This commit is contained in:
parent
50e20fe076
commit
24607a397c
2
buffer.c
2
buffer.c
@ -370,6 +370,8 @@ evbuffer_deferred_callback(struct deferred_cb *cb, void *arg)
|
|||||||
{
|
{
|
||||||
struct evbuffer *buffer = arg;
|
struct evbuffer *buffer = arg;
|
||||||
|
|
||||||
|
/* XXXX It would be better to run these callbacks without holding the
|
||||||
|
* lock */
|
||||||
EVBUFFER_LOCK(buffer, EVTHREAD_WRITE);
|
EVBUFFER_LOCK(buffer, EVTHREAD_WRITE);
|
||||||
evbuffer_run_callbacks(buffer);
|
evbuffer_run_callbacks(buffer);
|
||||||
_evbuffer_decref_and_unlock(buffer);
|
_evbuffer_decref_and_unlock(buffer);
|
||||||
|
@ -119,6 +119,8 @@ bufferevent_run_deferred_callbacks(struct deferred_cb *_, void *arg)
|
|||||||
struct bufferevent_private *bufev_private = arg;
|
struct bufferevent_private *bufev_private = arg;
|
||||||
struct bufferevent *bufev = &bufev_private->bev;
|
struct bufferevent *bufev = &bufev_private->bev;
|
||||||
|
|
||||||
|
/* XXXX It would be better to run these without holding the
|
||||||
|
* bufferevent lock */
|
||||||
BEV_LOCK(bufev);
|
BEV_LOCK(bufev);
|
||||||
if (bufev_private->readcb_pending && bufev->readcb) {
|
if (bufev_private->readcb_pending && bufev->readcb) {
|
||||||
bufev_private->readcb_pending = 0;
|
bufev_private->readcb_pending = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user