diff options
author | Ondřej Kuzník <ondra@mistotebe.net> | 2013-12-03 22:49:57 +0000 |
---|---|---|
committer | Ondřej Kuzník <ondra@mistotebe.net> | 2013-12-03 23:39:13 +0000 |
commit | 61ee18b8b1d2ac0025955b3f949531c712fb7527 (patch) | |
tree | 78b005fea5cec5daebe28d38ad1b74a5f3b3b3af /bufferevent_filter.c | |
parent | 4ce242bd0087ed3f6d36c64d0d15094d8a6fc9fc (diff) | |
download | libevent-61ee18b8b1d2ac0025955b3f949531c712fb7527.tar.gz |
Add an option to trigger bufferevent I/O callbacks
Diffstat (limited to 'bufferevent_filter.c')
-rw-r--r-- | bufferevent_filter.c | 10 |
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); } |