Fix mismatch of int sizes; move calculation of maximum size of persistent pool to a better location.

This commit is contained in:
counterpoint 2015-07-09 08:37:20 +01:00
parent bccf3d27d6
commit 8376bbf3e6
3 changed files with 3 additions and 4 deletions

View File

@ -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)

View File

@ -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

View File

@ -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