From e6525c0537e45bd4b028051bf75902cbcb1baa55 Mon Sep 17 00:00:00 2001 From: Sudheer Vinukonda Date: Mon, 10 Aug 2020 14:04:46 -0700 Subject: [PATCH] Reset stale read.triggered when migrating thread contexts The stale triggered results in adding the idle VC to read-ready list which ends up in a quagmire of odd looking corruption and openSSL crashes This fixes issue #7096. --- iocore/net/UnixNetVConnection.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index c1c608b9836..dbe71fae352 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -1188,6 +1188,9 @@ UnixNetVConnection::populate(Connection &con_in, Continuation *c, void *arg) return EVENT_ERROR; } + // reset stale read triggered on keep alive connection to prevent getting into read ready list + this->read.triggered = 0; + if (h->startIO(this) < 0) { Debug("iocore_net", "populate : Failed to add to epoll list"); return EVENT_ERROR;