Merge pull request #2419 from csoler/v0.6-BugFixing_10

fixed deadlock caused by wrong order in mutex lock
This commit is contained in:
csoler 2021-05-26 11:41:57 +02:00 committed by GitHub
commit d1a166df55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1028,12 +1028,18 @@ bool RsGxsNetTunnelService::receiveSearchRequest(unsigned char *search_request_d
max_allowed_hits = RS_GXS_NET_TUNNEL_MAX_ALLOWED_HITS_GROUP_SEARCH ;
std::list<RsGxsGroupSummary> results ;
RsNetworkExchangeService *service = nullptr;
RS_STACK_MUTEX(mGxsNetTunnelMtx);
{
RS_STACK_MUTEX(mGxsNetTunnelMtx);
auto it = mSearchableServices.find(substring_sr->service) ;
auto it = mSearchableServices.find(substring_sr->service) ;
if(it != mSearchableServices.end() && it->second->search(substring_sr->substring_match,results))
if(it != mSearchableServices.end())
service = it->second;
}
if(service != nullptr && service->search(substring_sr->substring_match,results))
{
RsGxsNetTunnelTurtleSearchGroupSummaryItem search_result_item ;