@@ -183,8 +183,12 @@ kphp::coro::task<array<mixed>> rpc_tl_query_result_one_impl(int64_t query_id) no
183183 const auto it_response_fetcher{rpc_client_instance_st.response_fetcher_instances .find (query_id)};
184184 const auto it_fork_task{rpc_client_instance_st.response_awaiter_tasks .find (query_id)};
185185 const vk::final_action finalizer{[&rpc_client_instance_st, it_response_fetcher, it_fork_task] noexcept {
186- rpc_client_instance_st.response_fetcher_instances .erase (it_response_fetcher);
187- rpc_client_instance_st.response_awaiter_tasks .erase (it_fork_task);
186+ if (it_response_fetcher != rpc_client_instance_st.response_fetcher_instances .end ()) [[likely]] {
187+ rpc_client_instance_st.response_fetcher_instances .erase (it_response_fetcher);
188+ }
189+ if (it_fork_task != rpc_client_instance_st.response_awaiter_tasks .end ()) [[likely]] {
190+ rpc_client_instance_st.response_awaiter_tasks .erase (it_fork_task);
191+ }
188192 }};
189193
190194 if (it_response_fetcher == rpc_client_instance_st.response_fetcher_instances .end () || it_fork_task == rpc_client_instance_st.response_awaiter_tasks .end ())
@@ -236,8 +240,12 @@ kphp::coro::task<class_instance<C$VK$TL$RpcResponse>> typed_rpc_tl_query_result_
236240 const auto it_response_fetcher{rpc_client_instance_st.response_fetcher_instances .find (query_id)};
237241 const auto it_fork_task{rpc_client_instance_st.response_awaiter_tasks .find (query_id)};
238242 const vk::final_action finalizer{[&rpc_client_instance_st, it_response_fetcher, it_fork_task] noexcept {
239- rpc_client_instance_st.response_fetcher_instances .erase (it_response_fetcher);
240- rpc_client_instance_st.response_awaiter_tasks .erase (it_fork_task);
243+ if (it_response_fetcher != rpc_client_instance_st.response_fetcher_instances .end ()) [[likely]] {
244+ rpc_client_instance_st.response_fetcher_instances .erase (it_response_fetcher);
245+ }
246+ if (it_fork_task != rpc_client_instance_st.response_awaiter_tasks .end ()) [[likely]] {
247+ rpc_client_instance_st.response_awaiter_tasks .erase (it_fork_task);
248+ }
241249 }};
242250
243251 if (it_response_fetcher == rpc_client_instance_st.response_fetcher_instances .end () || it_fork_task == rpc_client_instance_st.response_awaiter_tasks .end ())
0 commit comments