Merge branch '2.0' into develop

This commit is contained in:
Markus Makela
2016-09-12 09:39:26 +03:00
7 changed files with 33 additions and 26 deletions

View File

@ -942,7 +942,7 @@ static void closeSession(ROUTER *instance, void *router_session)
}
#endif
/** Clean operation counter in bref and in SERVER */
while (BREF_IS_WAITING_RESULT(bref))
if (BREF_IS_WAITING_RESULT(bref))
{
bref_clear_state(bref, BREF_WAITING_RESULT);
}
@ -955,6 +955,10 @@ static void closeSession(ROUTER *instance, void *router_session)
/** decrease server current connection counters */
atomic_add(&bref->bref_backend->backend_conn_count, -1);
}
else
{
ss_dassert(!BREF_IS_WAITING_RESULT(bref));
}
}
/** Unlock */
rses_end_locked_router_action(router_cli_ses);
@ -2794,11 +2798,8 @@ static void bref_clear_state(backend_ref_t *bref, bref_state_t state)
MXS_ERROR("[%s] Error: NULL parameter.", __FUNCTION__);
return;
}
if (state != BREF_WAITING_RESULT)
{
bref->bref_state &= ~state;
}
else
if ((state & BREF_WAITING_RESULT) && (bref->bref_state & BREF_WAITING_RESULT))
{
int prev1;
int prev2;
@ -2823,6 +2824,8 @@ static void bref_clear_state(backend_ref_t *bref, bref_state_t state)
}
}
}
bref->bref_state &= ~state;
}
static void bref_set_state(backend_ref_t *bref, bref_state_t state)
@ -2832,11 +2835,8 @@ static void bref_set_state(backend_ref_t *bref, bref_state_t state)
MXS_ERROR("[%s] Error: NULL parameter.", __FUNCTION__);
return;
}
if (state != BREF_WAITING_RESULT)
{
bref->bref_state |= state;
}
else
if ((state & BREF_WAITING_RESULT) && (bref->bref_state & BREF_WAITING_RESULT) == 0)
{
int prev1;
int prev2;
@ -2862,6 +2862,8 @@ static void bref_set_state(backend_ref_t *bref, bref_state_t state)
bref->bref_backend->backend_server->port);
}
}
bref->bref_state |= state;
}
/**