From efc0c7420e8784c558711b4a45b5bc1bb419b133 Mon Sep 17 00:00:00 2001 From: counterpoint Date: Tue, 13 Oct 2015 16:19:24 +0200 Subject: [PATCH] Correct misplacement of decrementing current connections counter. --- server/core/dcb.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server/core/dcb.c b/server/core/dcb.c index b9ccbbfd5..29ea757a1 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -578,15 +578,19 @@ dcb_process_victim_queue(DCB *listofdcb) nzombies++; if (nzombies > maxzombies) maxzombies = nzombies; spinlock_release(&zombiespin); - if (dcb->server) - { - atomic_add(&dcb->server->stats.n_current, -1); - } dcb = nextdcb; continue; } } } + /* + * Into the final close logic, so if DCB is for backend server, we + * must decrement the number of current connections. + */ + if (dcb->server) + { + atomic_add(&dcb->server->stats.n_current, -1); + } /** * close protocol and router session */