cbstuff.nbreakers++;
if (!(host->z.hostFlags & RESETDONE) && !(host->z.hostFlags & HOSTDELETED)) {
host->z.hostFlags &= ~ALTADDR; /* alternate addresses are invalid */
+ host->z.hostFlags |= HWHO_INPROGRESS; /* ICBS(3) invokes thread quota */
cb_conn = host->z.callback_rxcon;
rx_GetConnection(cb_conn);
if (host->z.interface) {
cb_conn = NULL;
H_LOCK;
host->z.hostFlags |= ALTADDR; /* alternate addresses are valid */
+ host->z.hostFlags &= ~HWHO_INPROGRESS;
if (code) {
if (ShowProblems) {
ViceLog(0,
} else if (!(hp->z.hostFlags & HOSTDELETED)) {
/* host is up, try a call */
hp->z.hostFlags &= ~ALTADDR; /* alternate addresses are invalid */
+ hp->z.hostFlags |= HWHO_INPROGRESS; /* enable host thread quota enforcement */
cb_conn = hp->z.callback_rxcon;
rx_GetConnection(hp->z.callback_rxcon);
if (hp->z.interface) {
cb_conn = NULL;
H_LOCK;
hp->z.hostFlags |= ALTADDR; /* alternate addresses are valid */
+ hp->z.hostFlags &= ~HWHO_INPROGRESS;
if (code) {
/* failed, mark host down and need reset */
hp->z.hostFlags |= VENUSDOWN;