File tree Expand file tree Collapse file tree 2 files changed +7
-3
lines changed
Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -253,6 +253,10 @@ Http1ClientSession::do_io_close(int alerrno)
253253 if (transact_count == released_transactions) {
254254 half_close = false ;
255255 }
256+
257+ // Clean up the write VIO in case of inactivity timeout
258+ this ->do_io_write (nullptr , 0 , nullptr );
259+
256260 if (half_close && this ->trans .get_sm ()) {
257261 read_state = HCS_HALF_CLOSED;
258262 SET_HANDLER (&Http1ClientSession::state_wait_for_close);
@@ -286,7 +290,6 @@ Http1ClientSession::do_io_close(int alerrno)
286290 HTTP_SUM_DYN_STAT (http_transactions_per_client_con, transact_count);
287291 HTTP_DECREMENT_DYN_STAT (http_current_client_connections_stat);
288292 conn_decrease = false ;
289- // the netvc will be closed in the session free
290293 }
291294 if (transact_count == released_transactions) {
292295 this ->destroy ();
Original file line number Diff line number Diff line change @@ -300,14 +300,15 @@ Http2ClientSession::do_io_close(int alerrno)
300300 ink_assert (this ->mutex ->thread_holding == this_ethread ());
301301 send_connection_event (&this ->connection_state , HTTP2_SESSION_EVENT_FINI, this );
302302
303- // client_vc will be closed in Http2ClientSession::free
304-
305303 {
306304 SCOPED_MUTEX_LOCK (lock, this ->connection_state .mutex , this_ethread ());
307305 this ->connection_state .release_stream ();
308306 }
309307
310308 this ->clear_session_active ();
309+
310+ // Clean up the write VIO in case of inactivity timeout
311+ this ->do_io_write (nullptr , 0 , nullptr );
311312}
312313
313314void
You can’t perform that action at this time.
0 commit comments