MXS-1878: Immediately process hangups
When DCBs are being hung in dcb_hangup_foreach, the hangup event can be processed directly. This prevents excessive use of the worker message queue pipe thus reducing the possibility of it being full.
This commit is contained in:
@ -2005,7 +2005,8 @@ static void dcb_hangup_foreach_worker(int thread_id, struct server* server)
|
|||||||
if (dcb->state == DCB_STATE_POLLING && dcb->server &&
|
if (dcb->state == DCB_STATE_POLLING && dcb->server &&
|
||||||
dcb->server == server)
|
dcb->server == server)
|
||||||
{
|
{
|
||||||
poll_fake_hangup_event(dcb);
|
dcb->flags |= DCBF_HUNG;
|
||||||
|
dcb->func.hangup(dcb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user