summaryrefslogtreecommitdiff
path: root/bufferevent_openssl.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-10-24 22:55:17 -0400
committerNick Mathewson <nickm@torproject.org>2012-10-24 22:55:17 -0400
commitcda69d0df00b8ee28755731b225123d10a999acc (patch)
tree92a8b0641fead6bb3376a91f2658fccd1f12f521 /bufferevent_openssl.c
parentf2050e79d5140af3c364221bd736727da3d27cbe (diff)
parent1ff2c249bd834a0b2f7de69ed88b61b036bbbf7e (diff)
downloadlibevent-cda69d0df00b8ee28755731b225123d10a999acc.tar.gz
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts: bufferevent_openssl.c
Diffstat (limited to 'bufferevent_openssl.c')
-rw-r--r--bufferevent_openssl.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c
index 6e9c99f8..2f07cb6b 100644
--- a/bufferevent_openssl.c
+++ b/bufferevent_openssl.c
@@ -934,11 +934,12 @@ be_openssl_readeventcb(evutil_socket_t fd, short what, void *ptr)
{
struct bufferevent_openssl *bev_ssl = ptr;
bufferevent_incref_and_lock_(&bev_ssl->bev.bev);
- if (what & EV_TIMEOUT) {
+ if (what == EV_TIMEOUT) {
bufferevent_run_eventcb_(&bev_ssl->bev.bev,
BEV_EVENT_TIMEOUT|BEV_EVENT_READING);
- } else
+ } else {
consider_reading(bev_ssl);
+ }
bufferevent_decref_and_unlock_(&bev_ssl->bev.bev);
}
@@ -947,11 +948,12 @@ be_openssl_writeeventcb(evutil_socket_t fd, short what, void *ptr)
{
struct bufferevent_openssl *bev_ssl = ptr;
bufferevent_incref_and_lock_(&bev_ssl->bev.bev);
- if (what & EV_TIMEOUT) {
+ if (what == EV_TIMEOUT) {
bufferevent_run_eventcb_(&bev_ssl->bev.bev,
BEV_EVENT_TIMEOUT|BEV_EVENT_WRITING);
+ } else {
+ consider_writing(bev_ssl);
}
- consider_writing(bev_ssl);
bufferevent_decref_and_unlock_(&bev_ssl->bev.bev);
}