From 3cc34f0696c0cd91ecfeb30e4fba93bb2753c012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Tue, 4 Dec 2018 12:54:14 +0200 Subject: [PATCH] MXS-2196: Don't loop over persistent connections When doing a loop over each DCB, don't process DCBs without sessions. For now this is correct behavior as only DCBs in the persistent pool have no session. --- server/core/dcb.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/core/dcb.cc b/server/core/dcb.cc index ba5ba3162..966d2357e 100644 --- a/server/core/dcb.cc +++ b/server/core/dcb.cc @@ -2516,9 +2516,16 @@ void dcb_foreach_local(bool (* func)(DCB* dcb, void* data), void* data) for (DCB* dcb = this_unit.all_dcbs[thread_id]; dcb; dcb = dcb->thread.next) { - if (!func(dcb, data)) + if (dcb->session) { - break; + if (!func(dcb, data)) + { + break; + } + } + else + { + mxb_assert_message(dcb->persistentstart > 0, "The DCB must be in a connection pool"); } } }