Even when triggered by a master transaction, these background probes
should not be associated with it. That transaction just wants to know
whether the neighbor is "up" right now. The transaction does not wait
(and is not aware of) the background probe its question may or may not
have triggered.
neighborUp(const CachePeer * p)
{
if (!p->tcp_up) {
- peerProbeConnect(const_cast<CachePeer*>(p));
+ // TODO: When CachePeer gets its own CodeContext, pass that context instead of nullptr
+ CallService(nullptr, [&] {
+ peerProbeConnect(const_cast<CachePeer*>(p));
+ });
return 0;
}