diff options
author | Simon Perreault <simon.perreault@viagenie.ca> | 2010-09-09 17:19:20 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-09-10 09:20:57 -0400 |
commit | 040a019f52a7933b2478fe41c3ab0b56835012b1 (patch) | |
tree | 95fcac464028c0a9755f0746f01b14cabb6b8ad5 /bufferevent.c | |
parent | f0bd83ea88788c595fa78ed5da4a91efd36eca48 (diff) | |
download | libevent-040a019f52a7933b2478fe41c3ab0b56835012b1.tar.gz |
Obey enabled status when unsuspending
Diffstat (limited to 'bufferevent.c')
-rw-r--r-- | bufferevent.c | 4 |
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); } |