since it looks like CheckHost is using a gc'd client conn, this more or less has to be it.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
since it looks like CheckHost is using a gc'd client conn, this more or less has
to be it.
and don't deadlock.
====================
since it looks like CheckHost is using a gc'd client conn, this more or less has
to be it.
and don't deadlock.
====================
since it looks like CheckHost is using a gc'd client conn, this more or less has
to be it.
and don't deadlock.
if (!thishost || (thishost->hostFlags & HOSTDELETED)) {
continue;
}
+ rx_GetConnection(thishost->callback_rxcon);
conns[j++] = thishost->callback_rxcon;
#ifdef ADAPT_MTU
}
H_LOCK;
- h_Lock_r(hp);
+ h_Lock_r(hp);
hp->hostFlags |= VENUSDOWN;
/**
* We always go into AddCallBack1_r with the host locked
*/
AddCallBack1_r(hp, afidp->AFSCBFids_val, itot(idx),
CB_DELAYED, 1);
- h_Unlock_r(hp);
+ h_Unlock_r(hp);
H_UNLOCK;
}
}
for (i = 0; i < ncbas; i++) {
struct host *hp;
hp = cba[i].hp;
- if (hp && xhost != hp)
+ if (hp && xhost != hp) {
+ rx_PutConnection(hp->callback_rxcon);
h_Release_r(hp);
+ }
}
return;