summaryrefslogtreecommitdiff
path: root/bufferevent.c
diff options
context:
space:
mode:
authorSimon Perreault <simon.perreault@viagenie.ca>2010-09-09 17:19:20 -0400
committerNick Mathewson <nickm@torproject.org>2010-09-10 09:20:57 -0400
commit040a019f52a7933b2478fe41c3ab0b56835012b1 (patch)
tree95fcac464028c0a9755f0746f01b14cabb6b8ad5 /bufferevent.c
parentf0bd83ea88788c595fa78ed5da4a91efd36eca48 (diff)
downloadlibevent-040a019f52a7933b2478fe41c3ab0b56835012b1.tar.gz
Obey enabled status when unsuspending
Diffstat (limited to 'bufferevent.c')
-rw-r--r--bufferevent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/bufferevent.c b/bufferevent.c
index 53b07f1f..2ae42fba 100644
--- a/bufferevent.c
+++ b/bufferevent.c
@@ -78,7 +78,7 @@ bufferevent_unsuspend_read(struct bufferevent *bufev, short what)
EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
BEV_LOCK(bufev);
bufev_private->read_suspended &= ~what;
- if (!bufev_private->read_suspended)
+ if (!bufev_private->read_suspended && (bufev->enabled & EV_READ))
bufev->be_ops->enable(bufev, EV_READ);
BEV_UNLOCK(bufev);
}
@@ -102,7 +102,7 @@ bufferevent_unsuspend_write(struct bufferevent *bufev, short what)
EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
BEV_LOCK(bufev);
bufev_private->write_suspended &= ~what;
- if (!bufev_private->write_suspended)
+ if (!bufev_private->write_suspended && (bufev->enabled & EV_WRITE))
bufev->be_ops->enable(bufev, EV_WRITE);
BEV_UNLOCK(bufev);
}