Skip to content

Commit

Permalink
Remove unnecessary unlock/lock of a mutex
Browse files Browse the repository at this point in the history
node.final_generator.add() used to do further work in the same context
and there was the possibility of a deadlock.
But now it just adds to a queue so there should not be a deadlock danger.
So the lock/unlock should not be needed.
  • Loading branch information
dsiganos committed Jan 31, 2024
1 parent c58ec87 commit 3ff72fd
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions nano/node/election.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -366,10 +366,7 @@ void nano::election::confirm_if_quorum (nano::unique_lock<nano::mutex> & lock_a)
{
if (node.ledger.cache.final_votes_confirmation_canary.load () && !is_quorum.exchange (true) && node.config.enable_voting && node.wallets.reps ().voting > 0)
{
auto hash = status.winner->hash ();
lock_a.unlock ();
node.final_generator.add (root, hash);
lock_a.lock ();
node.final_generator.add (root, status.winner->hash ());
}
if (!node.ledger.cache.final_votes_confirmation_canary.load () || final_weight >= node.online_reps.delta ())
{
Expand Down

0 comments on commit 3ff72fd

Please sign in to comment.