diff --git a/src/shrpx_client_handler.cc b/src/shrpx_client_handler.cc index c8065bb4..04702200 100644 --- a/src/shrpx_client_handler.cc +++ b/src/shrpx_client_handler.cc @@ -81,9 +81,11 @@ void readcb(struct ev_loop *loop, ev_io *w, int revents) { delete handler; return; } - if (handler->do_write() != 0) { - delete handler; - return; + if (ev_is_active(handler->get_wev())) { + if (handler->do_write() != 0) { + delete handler; + return; + } } } } // namespace