diff --git a/bufferevent.c b/bufferevent.c index 4d74de26..4082f53f 100644 --- a/bufferevent.c +++ b/bufferevent.c @@ -531,6 +531,11 @@ bufferevent_settimeout(struct bufferevent *bufev, int timeout_read, int timeout_write) { bufev->timeout_read = timeout_read; bufev->timeout_write = timeout_write; + + if (event_pending(&bufev->ev_read, EV_READ, NULL)) + bufferevent_add(&bufev->ev_read, timeout_read); + if (event_pending(&bufev->ev_write, EV_WRITE, NULL)) + bufferevent_add(&bufev->ev_write, timeout_write); } /*