Add to or take from persistent pool only if server is running; add conditions to DCB close in read-write handleError to check backend reference was in use.
This commit is contained in:
@ -1881,6 +1881,7 @@ dcb_maybe_add_persistent(DCB *dcb)
|
||||
&& strlen(dcb->user)
|
||||
&& dcb->server
|
||||
&& dcb->server->persistpoolmax
|
||||
&& (dcb->server->status & SERVER_RUNNING)
|
||||
&& !dcb->dcb_errhandle_called
|
||||
&& !(dcb->flags & DCBF_HUNG)
|
||||
&& (poolcount = dcb_persistent_clean_count(dcb, false)) < dcb->server->persistpoolmax)
|
||||
@ -2815,6 +2816,8 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall)
|
||||
if (cleanall
|
||||
|| persistentdcb-> dcb_errhandle_called
|
||||
|| count >= server->persistpoolmax
|
||||
|| persistentdcb->server == NULL
|
||||
|| !(persistentdcb->server->status & SERVER_RUNNING)
|
||||
|| (time(NULL) - persistentdcb->persistentstart) > server->persistmaxtime)
|
||||
{
|
||||
/* Remove from persistent pool */
|
||||
|
||||
Reference in New Issue
Block a user