diff --git a/server/core/dcb.cc b/server/core/dcb.cc index ad81b8d8c..69fe345e5 100644 --- a/server/core/dcb.cc +++ b/server/core/dcb.cc @@ -389,7 +389,7 @@ dcb_connect(SERVER *server, MXS_SESSION *session, const char *protocol) /** * Link dcb to session. Unlink is called in dcb_final_free */ - session_link_dcb(session, dcb); + session_link_backend_dcb(session, dcb); MXS_DEBUG("Reusing a persistent connection, dcb %p", dcb); dcb->persistentstart = 0; @@ -438,7 +438,7 @@ dcb_connect(SERVER *server, MXS_SESSION *session, const char *protocol) /** * Link dcb to session. Unlink is called in dcb_final_free */ - session_link_dcb(session, dcb); + session_link_backend_dcb(session, dcb); fd = dcb->func.connect(dcb, server, session); diff --git a/server/core/maxscale/session.h b/server/core/maxscale/session.h index a8101d0db..6867d7ba9 100644 --- a/server/core/maxscale/session.h +++ b/server/core/maxscale/session.h @@ -44,12 +44,12 @@ int session_isvalid(MXS_SESSION *); const char *session_state(mxs_session_state_t); /** - * Link a session to a DCB. + * Link a session to a backend DCB. * * @param session The session to link with the dcb - * @param dcb The DCB to be linked + * @param dcb The backend DCB to be linked */ -void session_link_dcb(MXS_SESSION *session, struct dcb *dcb); +void session_link_backend_dcb(MXS_SESSION *session, struct dcb *dcb); RESULTSET *sessionGetList(SESSIONLISTFILTER); diff --git a/server/core/session.cc b/server/core/session.cc index 2503b056e..7403e9fe8 100644 --- a/server/core/session.cc +++ b/server/core/session.cc @@ -314,11 +314,9 @@ session_set_dummy(DCB *client_dcb) return session; } -void session_link_dcb(MXS_SESSION *session, DCB *dcb) +void session_link_backend_dcb(MXS_SESSION *session, DCB *dcb) { - ss_info_dassert(session->state != SESSION_STATE_FREE, - "If session->state is SESSION_STATE_FREE then this attempt to " - "access freed memory block."); + ss_dassert(dcb->dcb_role == DCB_ROLE_BACKEND_HANDLER); atomic_add(&session->refcount, 1); dcb->session = session;