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:
Markus Mäkelä
2018-05-21 13:25:17 +03:00
parent e7fd8ac6cb
commit 0e686dd0f3

View File

@ -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);
} }
} }
} }