From 8376bbf3e631be9fd6b630535f5aa2b23bdf67a9 Mon Sep 17 00:00:00 2001 From: counterpoint Date: Thu, 9 Jul 2015 08:37:20 +0100 Subject: [PATCH] Fix mismatch of int sizes; move calculation of maximum size of persistent pool to a better location. --- server/core/dcb.c | 1 + server/core/server.c | 4 +--- server/include/server.h | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/server/core/dcb.c b/server/core/dcb.c index 399282b7f..8813198db 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -2971,6 +2971,7 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall) } persistentdcb = nextdcb; } + server->persistmax = MAX(server->persistmax, count); spinlock_release(&server->persistlock); /** Call possible callback for this DCB in case of close */ while (disposals) diff --git a/server/core/server.c b/server/core/server.c index bd723c356..143c1d9cc 100644 --- a/server/core/server.c +++ b/server/core/server.c @@ -150,12 +150,10 @@ DCB * server_get_persistent(SERVER *server, char *user, const char *protocol) { DCB *dcb, *previous = NULL; - int poolsize; - if (server->persistent && (poolsize = dcb_persistent_clean_count(server->persistent, false)) && server->persistent) + if (server->persistent && dcb_persistent_clean_count(server->persistent, false) && server->persistent) { spinlock_acquire(&server->persistlock); - server->persistmax = MAX(server->persistmax, poolsize); dcb = server->persistent; while (dcb) { if (dcb->user diff --git a/server/include/server.h b/server/include/server.h index f31ab0422..1c8cdd62f 100644 --- a/server/include/server.h +++ b/server/include/server.h @@ -104,7 +104,7 @@ typedef struct server { SPINLOCK persistlock; /**< Lock for adjusting the persistent connections list */ long persistpoolmax; /**< Maximum size of persistent connections pool */ long persistmaxtime; /**< Maximum number of seconds connection can live */ - long persistmax; /**< Maximum pool size actually achieved since startup */ + int persistmax; /**< Maximum pool size actually achieved since startup */ #if defined(SS_DEBUG) skygw_chk_t server_chk_tail; #endif