rpc: fix possible deadlock in rpc (#26051)
This commit is contained in:
parent
04ce0ce68b
commit
113b161ba9
|
@ -1431,12 +1431,12 @@ impl JsonRpcRequestProcessor {
|
||||||
bank: &Arc<Bank>,
|
bank: &Arc<Bank>,
|
||||||
) -> Option<TransactionStatus> {
|
) -> Option<TransactionStatus> {
|
||||||
let (slot, status) = bank.get_signature_status_slot(&signature)?;
|
let (slot, status) = bank.get_signature_status_slot(&signature)?;
|
||||||
let r_block_commitment_cache = self.block_commitment_cache.read().unwrap();
|
|
||||||
|
|
||||||
let optimistically_confirmed_bank = self.bank(Some(CommitmentConfig::confirmed()));
|
let optimistically_confirmed_bank = self.bank(Some(CommitmentConfig::confirmed()));
|
||||||
let optimistically_confirmed =
|
let optimistically_confirmed =
|
||||||
optimistically_confirmed_bank.get_signature_status_slot(&signature);
|
optimistically_confirmed_bank.get_signature_status_slot(&signature);
|
||||||
|
|
||||||
|
let r_block_commitment_cache = self.block_commitment_cache.read().unwrap();
|
||||||
let confirmations = if r_block_commitment_cache.root() >= slot
|
let confirmations = if r_block_commitment_cache.root() >= slot
|
||||||
&& is_finalized(&r_block_commitment_cache, bank, &self.blockstore, slot)
|
&& is_finalized(&r_block_commitment_cache, bank, &self.blockstore, slot)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue