search/Search.cc: Added a mutex for insertion to filtered_arrivals

Signed-off-by: Jan Bylicki <jbylicki@antmicro.com>
This commit is contained in:
Jan Bylicki 2024-05-24 18:10:53 +02:00
parent e81d3c5d9d
commit 1258bdc259
2 changed files with 7 additions and 2 deletions

View File

@ -606,6 +606,7 @@ protected:
ExceptionFrom *filter_from_;
ExceptionTo *filter_to_;
VertexSet *filtered_arrivals_;
std::mutex filtered_arrivals_lock_;
bool found_downstream_clk_pins_;
PathGroups *path_groups_;
VisitPathEnds *visit_path_ends_;

View File

@ -2686,8 +2686,10 @@ Search::setVertexArrivals(Vertex *vertex,
}
tag_bldr->copyArrivals(tag_group, prev_arrivals, prev_paths);
vertex->setTagGroupIndex(tag_group->index());
if (tag_group->hasFilterTag())
if (tag_group->hasFilterTag()) {
LockGuard lock(this->filtered_arrivals_lock_);
filtered_arrivals_->insert(vertex);
}
if (has_requireds) {
requiredInvalid(vertex);
@ -2712,8 +2714,10 @@ Search::setVertexArrivals(Vertex *vertex,
tag_bldr->copyArrivals(tag_group, arrivals, prev_paths);
vertex->setTagGroupIndex(tag_group->index());
if (tag_group->hasFilterTag())
if (tag_group->hasFilterTag()) {
LockGuard lock(this->filtered_arrivals_lock_);
filtered_arrivals_->insert(vertex);
}
}
}
}