Skip to content

Commit

Permalink
Try not null cell
Browse files Browse the repository at this point in the history
  • Loading branch information
tvorogme committed Feb 13, 2024
1 parent ee51eff commit d3f916a
Showing 1 changed file with 18 additions and 12 deletions.
30 changes: 18 additions & 12 deletions validator/manager-disk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,18 +100,24 @@ void ShardClientDetector::receive_result(BlockIdExt mc_blkid, BlockIdExt shard_b
}

if (R.is_ok()) {
mc_shards_waits_[mc_blkid] -= 1;
if (mc_shards_waits_[mc_blkid] == 0) {
mc_shards_waits_.erase(mc_blkid);
auto state = std::move(mc_states_[mc_blkid]);
mc_states_.erase(mc_blkid);

if (shard_waiters.empty()) {
alarm_timestamp() = td::Timestamp::never();
}
auto x = R.move_as_ok();
auto cell = x->root_cell();

if (!cell.is_null()) {
mc_shards_waits_[mc_blkid] -= 1;
if (mc_shards_waits_[mc_blkid] == 0) {
mc_shards_waits_.erase(mc_blkid);
auto state = std::move(mc_states_[mc_blkid]);
mc_states_.erase(mc_blkid);

if (shard_waiters.empty()) {
alarm_timestamp() = td::Timestamp::never();
}

td::actor::send_closure_later(manager_, &ValidatorManager::update_lite_server_state, mc_blkid, std::move(state));
return;
td::actor::send_closure_later(manager_, &ValidatorManager::update_lite_server_state, mc_blkid,
std::move(state));
return;
}
}
}

Expand Down Expand Up @@ -1381,7 +1387,7 @@ void ValidatorManagerImpl::update_shard_client_state(BlockIdExt masterchain_bloc

void ValidatorManagerImpl::update_lite_server_state(BlockIdExt shard_client, td::Ref<MasterchainState> state) {
if (last_liteserver_state_.is_null()) {
LOG(INFO) << "New shard client available: " << shard_client;
LOG(INFO) << "New shard client available (from null): " << shard_client;
last_liteserver_block_id_ = shard_client;
last_liteserver_state_ = std::move(state);
return;
Expand Down

0 comments on commit d3f916a

Please sign in to comment.