修复group rule中mutex使用不对称的问题。https://mantis.mesalab.cn/view.php?id=617
This commit is contained in:
zhengchao
2019-06-26 22:55:33 +06:00
parent 1bd09a501e
commit 3b80abf265
2 changed files with 46 additions and 28 deletions

View File

@@ -283,9 +283,12 @@ int exprid2region_id(struct Maat_group_inner* group_rule,int expr_id,int* distri
pthread_mutex_lock(&(group_rule->mutex));
assert(array_idx<group_rule->region_boundary);
region_rule=(struct Maat_region_inner*)dynamic_array_read(group_rule->regions, array_idx);
assert(expr_id>=region_rule->expr_id_lb&&expr_id<=region_rule->expr_id_ub);
region_id=region_rule->region_id;
*district_id=region_rule->district_id;
if(region_rule)
{
assert(expr_id>=region_rule->expr_id_lb&&expr_id<=region_rule->expr_id_ub);
region_id=region_rule->region_id;
*district_id=region_rule->district_id;
}
pthread_mutex_unlock(&(group_rule->mutex));
return region_id;
}