summaryrefslogtreecommitdiff
path: root/bufferevent_filter.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_filter.c
parent4ce242bd0087ed3f6d36c64d0d15094d8a6fc9fc (diff)
downloadlibevent-61ee18b8b1d2ac0025955b3f949531c712fb7527.tar.gz
Add an option to trigger bufferevent I/O callbacks
Diffstat (limited to 'bufferevent_filter.c')
-rw-r--r--bufferevent_filter.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/bufferevent_filter.c b/bufferevent_filter.c
index cc02230c..cb1c0097 100644
--- a/bufferevent_filter.c
+++ b/bufferevent_filter.c
@@ -376,10 +376,9 @@ be_filter_process_output(struct bufferevent_filtered *bevf,
/* Or if we have filled the underlying output buffer. */
!be_underlying_writebuf_full(bevf,state));
- if (processed &&
- evbuffer_get_length(bufev->output) <= bufev->wm_write.low) {
+ if (processed) {
/* call the write callback.*/
- bufferevent_run_writecb_(bufev);
+ bufferevent_trigger_nolock_(bufev, EV_WRITE, 0);
if (res == BEV_OK &&
(bufev->enabled & EV_WRITE) &&
@@ -442,9 +441,8 @@ be_filter_readcb(struct bufferevent *underlying, void *me_)
/* XXX This should be in process_input, not here. There are
* other places that can call process-input, and they should
* force readcb calls as needed. */
- if (processed_any &&
- evbuffer_get_length(bufev->input) >= bufev->wm_read.low)
- bufferevent_run_readcb_(bufev);
+ if (processed_any)
+ bufferevent_trigger_nolock_(bufev, EV_READ, 0);
bufferevent_decref_and_unlock_(bufev);
}