summaryrefslogtreecommitdiff
path: root/bufferevent_sock.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_sock.c
parent4ce242bd0087ed3f6d36c64d0d15094d8a6fc9fc (diff)
downloadlibevent-61ee18b8b1d2ac0025955b3f949531c712fb7527.tar.gz
Add an option to trigger bufferevent I/O callbacks
Diffstat (limited to 'bufferevent_sock.c')
-rw-r--r--bufferevent_sock.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/bufferevent_sock.c b/bufferevent_sock.c
index 5ce4953b..82983ed7 100644
--- a/bufferevent_sock.c
+++ b/bufferevent_sock.c
@@ -184,8 +184,7 @@ bufferevent_readcb(evutil_socket_t fd, short event, void *arg)
bufferevent_decrement_read_buckets_(bufev_p, res);
/* Invoke the user callback - must always be called last */
- if (evbuffer_get_length(input) >= bufev->wm_read.low)
- bufferevent_run_readcb_(bufev);
+ bufferevent_trigger_nolock_(bufev, EV_READ, 0);
goto done;
@@ -294,9 +293,8 @@ bufferevent_writecb(evutil_socket_t fd, short event, void *arg)
* Invoke the user callback if our buffer is drained or below the
* low watermark.
*/
- if ((res || !connected) &&
- evbuffer_get_length(bufev->output) <= bufev->wm_write.low) {
- bufferevent_run_writecb_(bufev);
+ if (res || !connected) {
+ bufferevent_trigger_nolock_(bufev, EV_WRITE, 0);
}
goto done;