Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
if wait_any_for timeouts, unref remaining pending comms
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Sat, 7 Mar 2020 13:30:10 +0000 (14:30 +0100)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Sat, 7 Mar 2020 13:33:14 +0000 (14:33 +0100)
src/s4u/s4u_Comm.cpp

index c77cada..e7cc4df 100644 (file)
@@ -322,5 +322,8 @@ int sg_comm_wait_any_for(sg_comm_t* comms, size_t count, double timeout)
   int pos = simgrid::s4u::Comm::wait_any_for(&s4u_comms, timeout);
   if (pos != -1)
     s4u_comms[pos]->unref();
+  else
+    for (const auto& c : s4u_comms)
+      c->unref();
   return pos;
 }