summaryrefslogtreecommitdiff
path: root/bufferevent_openssl.c
diff options
context:
space:
mode:
authorOndřej Kuzník <ondra@mistotebe.net>2013-12-03 22:49:57 +0000
committerOndřej Kuzník <ondra@mistotebe.net>2013-12-03 23:39:13 +0000
commit61ee18b8b1d2ac0025955b3f949531c712fb7527 (patch)
tree78b005fea5cec5daebe28d38ad1b74a5f3b3b3af /bufferevent_openssl.c
parent4ce242bd0087ed3f6d36c64d0d15094d8a6fc9fc (diff)
downloadlibevent-61ee18b8b1d2ac0025955b3f949531c712fb7527.tar.gz
Add an option to trigger bufferevent I/O callbacks
Diffstat (limited to 'bufferevent_openssl.c')
-rw-r--r--bufferevent_openssl.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c
index 1ce124f9..ed9e4a3d 100644
--- a/bufferevent_openssl.c
+++ b/bufferevent_openssl.c
@@ -709,8 +709,7 @@ do_write(struct bufferevent_openssl *bev_ssl, int atmost)
if (bev_ssl->underlying)
BEV_RESET_GENERIC_WRITE_TIMEOUT(bev);
- if (evbuffer_get_length(output) <= bev->wm_write.low)
- bufferevent_run_writecb_(bev);
+ bufferevent_trigger_nolock_(bev, EV_WRITE, 0);
}
return result;
}
@@ -824,11 +823,8 @@ consider_reading(struct bufferevent_openssl *bev_ssl)
if (all_result_flags & OP_MADE_PROGRESS) {
struct bufferevent *bev = &bev_ssl->bev.bev;
- struct evbuffer *input = bev->input;
- if (evbuffer_get_length(input) >= bev->wm_read.low) {
- bufferevent_run_readcb_(bev);
- }
+ bufferevent_trigger_nolock_(bev, EV_READ, 0);
}
if (!bev_ssl->underlying) {
@@ -852,11 +848,8 @@ consider_writing(struct bufferevent_openssl *bev_ssl)
r = do_read(bev_ssl, 1024); /* XXXX 1024 is a hack */
if (r & OP_MADE_PROGRESS) {
struct bufferevent *bev = &bev_ssl->bev.bev;
- struct evbuffer *input = bev->input;
- if (evbuffer_get_length(input) >= bev->wm_read.low) {
- bufferevent_run_readcb_(bev);
- }
+ bufferevent_trigger_nolock_(bev, EV_READ, 0);
}
if (r & (OP_ERR|OP_BLOCKED))
break;