Bfs::visitParallel check for deleted vertex
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
16f3f94b5b
commit
d8f75706f4
|
|
@ -181,8 +181,10 @@ BfsIterator::visitParallel(Level to_level,
|
||||||
size_t vertex_count = level_vertices.size();
|
size_t vertex_count = level_vertices.size();
|
||||||
if (vertex_count < thread_count) {
|
if (vertex_count < thread_count) {
|
||||||
for (Vertex *vertex : level_vertices) {
|
for (Vertex *vertex : level_vertices) {
|
||||||
vertex->setBfsInQueue(bfs_index_, false);
|
if (vertex) {
|
||||||
visitor->visit(vertex);
|
vertex->setBfsInQueue(bfs_index_, false);
|
||||||
|
visitor->visit(vertex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -194,8 +196,10 @@ BfsIterator::visitParallel(Level to_level,
|
||||||
dispatch_queue_->dispatch( [=](int) {
|
dispatch_queue_->dispatch( [=](int) {
|
||||||
for (size_t i = from; i < to; i++) {
|
for (size_t i = from; i < to; i++) {
|
||||||
Vertex *vertex = level_vertices[i];
|
Vertex *vertex = level_vertices[i];
|
||||||
vertex->setBfsInQueue(bfs_index_, false);
|
if (vertex) {
|
||||||
visitors[k]->visit(vertex);
|
vertex->setBfsInQueue(bfs_index_, false);
|
||||||
|
visitors[k]->visit(vertex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
from = to;
|
from = to;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue