From: Fred Suter Date: Fri, 4 Nov 2022 01:50:46 +0000 (-0400) Subject: fix deadlock found by hcasanova in case of self communications X-Git-Tag: v3.34~710 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b3e6487cbebfaada40d407ac8d98daf9e370153c?hp=c0cd56bc891505fdb174541b189034f878413a34 fix deadlock found by hcasanova in case of self communications --- diff --git a/src/surf/sio_S22.cpp b/src/surf/sio_S22.cpp index 24fa3bfffb..ee3620cfb9 100644 --- a/src/surf/sio_S22.cpp +++ b/src/surf/sio_S22.cpp @@ -170,7 +170,7 @@ S22Action::S22Action(Model* model, s4u::Host* src_host, DiskImpl* src_disk, s4u: if (dst_disk_ != nullptr) disk_nb++; - if (src_host_ != dst_host_ && size_ > 0) { + if (size_ > 0) { std::unordered_set affected_links; double lat = 0.0; std::vector route; @@ -198,7 +198,7 @@ S22Action::S22Action(Model* model, s4u::Host* src_host, DiskImpl* src_disk, s4u: if (dst_disk_ != nullptr) model->get_maxmin_system()->expand(dst_disk_->get_constraint(), get_variable(), size, true); - if (src_host_ != dst_host_) { + if (link_nb > 0) { std::vector route; src_host_->route_to(dst_host_, route, nullptr); for (auto const& link : route)