diff --git a/src/proxy/FetchSM.cc b/src/proxy/FetchSM.cc index 66b800fd6a7..11fef0f8494 100644 --- a/src/proxy/FetchSM.cc +++ b/src/proxy/FetchSM.cc @@ -61,6 +61,7 @@ FetchSM::cleanUp() } if (http_vc) { + http_vc->do_io_shutdown(IO_SHUTDOWN_READWRITE); http_vc->do_io_close(); } free_MIOBuffer(req_buffer); diff --git a/src/proxy/PluginVC.cc b/src/proxy/PluginVC.cc index ab9d684aa6a..3caa8dc673f 100644 --- a/src/proxy/PluginVC.cc +++ b/src/proxy/PluginVC.cc @@ -397,6 +397,8 @@ PluginVC::do_io_shutdown(ShutdownHowTo_t howto) ink_assert(!closed); ink_assert(magic == PluginVCMagic_t::ALIVE); + SCOPED_MUTEX_LOCK(lock, mutex, this_ethread()); + switch (howto) { case IO_SHUTDOWN_READ: read_state.shutdown = true;