nghttpx: Fix assertion error in libev ev_io_start

This commit is contained in:
Tatsuhiro Tsujikawa 2017-01-03 16:43:49 +09:00
parent 55ecb082ee
commit c6827a7dac
1 changed files with 4 additions and 1 deletions

View File

@ -83,13 +83,16 @@ void RateLimit::regen() {
avail_ += rate_; avail_ += rate_;
} }
if (avail_ > 0 && startw_req_) { if (w_->fd >= 0 && avail_ > 0 && startw_req_) {
ev_io_start(loop_, w_); ev_io_start(loop_, w_);
handle_tls_pending_read(); handle_tls_pending_read();
} }
} }
void RateLimit::startw() { void RateLimit::startw() {
if (w_->fd < 0) {
return;
}
startw_req_ = true; startw_req_ = true;
if (rate_ == 0 || avail_ > 0) { if (rate_ == 0 || avail_ > 0) {
ev_io_start(loop_, w_); ev_io_start(loop_, w_);