This commit is contained in:
counterpoint
2015-06-03 15:08:08 +01:00
parent cb7eb5848b
commit ef6b6566e6

View File

@ -1825,6 +1825,7 @@ static bool dcb_set_state_nolock(
case DCB_STATE_DISCONNECTED: case DCB_STATE_DISCONNECTED:
dcb->state = new_state; dcb->state = new_state;
succp = true; succp = true;
default: ;
} }
break; break;
@ -1833,6 +1834,7 @@ static bool dcb_set_state_nolock(
case DCB_STATE_NOPOLLING: case DCB_STATE_NOPOLLING:
dcb->state = new_state; dcb->state = new_state;
succp = true; succp = true;
default: ;
} }
break; break;
@ -1841,6 +1843,7 @@ static bool dcb_set_state_nolock(
case DCB_STATE_NOPOLLING: case DCB_STATE_NOPOLLING:
dcb->state = new_state; dcb->state = new_state;
succp = true; succp = true;
default: ;
} }
break; break;
@ -1850,6 +1853,7 @@ static bool dcb_set_state_nolock(
dcb->state = new_state; dcb->state = new_state;
case DCB_STATE_POLLING: /*< ok to try but state can't change */ case DCB_STATE_POLLING: /*< ok to try but state can't change */
succp = true; succp = true;
default: ;
} }
break; break;
@ -1859,6 +1863,7 @@ static bool dcb_set_state_nolock(
dcb->state = new_state; dcb->state = new_state;
case DCB_STATE_POLLING: /*< ok to try but state can't change */ case DCB_STATE_POLLING: /*< ok to try but state can't change */
succp = true; succp = true;
default: ;
} }
break; break;
@ -1867,6 +1872,7 @@ static bool dcb_set_state_nolock(
case DCB_STATE_FREED: case DCB_STATE_FREED:
dcb->state = new_state; dcb->state = new_state;
succp = true; succp = true;
default: ;
} }
break; break;
@ -2304,13 +2310,14 @@ int
dcb_persistent_clean_count(DCB *dcb) dcb_persistent_clean_count(DCB *dcb)
{ {
int count = 0; int count = 0;
if (dcb) if (dcb && dcb->server)
{ {
SERVER *server = dcb->server; SERVER *server = dcb->server;
DCB *previousdcb = NULL; DCB *previousdcb = NULL;
DCB *persistentdcb = server->persistent; DCB *persistentdcb = server->persistent;
while (persistentdcb) { while (persistentdcb) {
CHK_DCB(persistentdcb);
if (count >= server->persistpoolmax || (persistentdcb->last_read + server->persistmaxtime) < time(NULL)) if (count >= server->persistpoolmax || (persistentdcb->last_read + server->persistmaxtime) < time(NULL))
{ {
if (previousdcb) { if (previousdcb) {