Skip to content

Commit c03480d

Browse files
committed
Disable optimistic sending when pushing sig share related messages
And instead let the network thread do the actual sending.
1 parent acb8789 commit c03480d

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/llmq/quorums_signing_shares.cpp

+12-3
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,8 @@ void CSigSharesManager::SendMessages()
896896
CollectSigSharesToAnnounce(sigSharesToAnnounce);
897897
}
898898

899+
bool didSend = false;
900+
899901
g_connman->ForEachNode([&](CNode* pnode) {
900902
CNetMsgMaker msgMaker(pnode->GetSendVersion());
901903

@@ -905,7 +907,8 @@ void CSigSharesManager::SendMessages()
905907
assert(p.second.CountSet() != 0);
906908
LogPrint("llmq", "CSigSharesManager::SendMessages -- QGETSIGSHARES inv={%s}, node=%d\n",
907909
p.second.ToString(), pnode->id);
908-
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QGETSIGSHARES, p.second));
910+
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QGETSIGSHARES, p.second), false);
911+
didSend = true;
909912
}
910913
}
911914

@@ -915,7 +918,8 @@ void CSigSharesManager::SendMessages()
915918
assert(!p.second.sigShares.empty());
916919
LogPrint("llmq", "CSigSharesManager::SendMessages -- QBSIGSHARES inv={%s}, node=%d\n",
917920
p.second.ToInv().ToString(), pnode->id);
918-
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QBSIGSHARES, p.second));
921+
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QBSIGSHARES, p.second), false);
922+
didSend = true;
919923
}
920924
}
921925

@@ -925,12 +929,17 @@ void CSigSharesManager::SendMessages()
925929
assert(p.second.CountSet() != 0);
926930
LogPrint("llmq", "CSigSharesManager::SendMessages -- QSIGSHARESINV inv={%s}, node=%d\n",
927931
p.second.ToString(), pnode->id);
928-
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QSIGSHARESINV, p.second));
932+
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QSIGSHARESINV, p.second), false);
933+
didSend = true;
929934
}
930935
}
931936

932937
return true;
933938
});
939+
940+
if (didSend) {
941+
g_connman->WakeSelect();
942+
}
934943
}
935944

936945
void CSigSharesManager::Cleanup()

0 commit comments

Comments
 (0)