This is an automated email from the ASF dual-hosted git repository. sudheerv pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit e894d18608ec371d2b8976ad131b9f2cd0b2e832 Author: Sudheer Vinukonda <sudhe...@apache.org> AuthorDate: Mon Aug 26 20:21:20 2019 -0700 Add in_destroy to Http2ConnectionState to prevent double delete (similar to Http2ClientSession) Add zombie_event when destroy() is called more than once. --- proxy/http2/Http2ConnectionState.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/proxy/http2/Http2ConnectionState.h b/proxy/http2/Http2ConnectionState.h index afd4385..85245c4 100644 --- a/proxy/http2/Http2ConnectionState.h +++ b/proxy/http2/Http2ConnectionState.h @@ -140,6 +140,11 @@ public: void destroy() { + if (in_destroy) { + schedule_zombie_event(); + return; + } + in_destroy = true; if (shutdown_cont_event) { shutdown_cont_event->cancel(); } @@ -374,6 +379,7 @@ private: Http2StreamId continued_stream_id = 0; bool _scheduled = false; bool fini_received = false; + bool in_destroy = false; int recursion = 0; Http2ShutdownState shutdown_state = HTTP2_SHUTDOWN_NONE; Http2ErrorCode shutdown_reason = Http2ErrorCode::HTTP2_ERROR_MAX;