Close DCB in handleError only if it can be found in a backend reference.

This commit is contained in:
Martin Brampton
2015-09-17 11:58:19 +01:00
parent 91dd3bb9bd
commit 583c9b62fe

View File

@ -4878,6 +4878,7 @@ static void handleError (
CHK_BACKEND_REF(bref);
bref_clear_state(bref, BREF_IN_USE);
bref_set_state(bref, BREF_CLOSED);
dcb_close(backend_dcb);
}
else
{
@ -4934,7 +4935,6 @@ static void handleError (
break;
}
}
dcb_close(backend_dcb);
}
@ -4961,6 +4961,7 @@ static void handle_error_reply_client(
CHK_BACKEND_REF(bref);
bref_clear_state(bref, BREF_IN_USE);
bref_set_state(bref, BREF_CLOSED);
dcb_close(backend_dcb);
}
if (sesstate == SESSION_STATE_ROUTER_READY)
@ -5048,6 +5049,7 @@ static bool handle_error_new_connection(
DCB_REASON_NOT_RESPONDING,
&router_handle_state_switch,
(void *)bref);
dcb_close(backend_dcb);
router_nservers = router_get_servercount(inst);
max_nslaves = rses_get_max_slavecount(myrses, router_nservers);