Fix exceptional cases in DCB dcb_call_callback and in MySQL backend gw_error_backend_event - close DCB and return.
This commit is contained in:
@ -2672,6 +2672,11 @@ dcb_call_callback(DCB *dcb, DCB_REASON reason)
|
||||
{
|
||||
DCB_CALLBACK *cb, *nextcb;
|
||||
|
||||
if (NULL == dcb->session->router_session)
|
||||
{
|
||||
dcb_close(dcb);
|
||||
return;
|
||||
}
|
||||
spinlock_acquire(&dcb->cb_lock);
|
||||
cb = dcb->callbacks;
|
||||
while (cb)
|
||||
|
@ -828,6 +828,11 @@ static int gw_error_backend_event(DCB *dcb)
|
||||
CHK_DCB(dcb);
|
||||
session = dcb->session;
|
||||
CHK_SESSION(session);
|
||||
if (SESSION_STATE_DUMMY == session->state)
|
||||
{
|
||||
dcb_close(dcb);
|
||||
return 1;
|
||||
}
|
||||
rsession = session->router_session;
|
||||
router = session->service->router;
|
||||
router_instance = session->service->router_instance;
|
||||
|
Reference in New Issue
Block a user