Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define and use optimized variants for simcalls comm_testany and comm_waitany.
[simgrid.git] / src / msg / msg_gos.cpp
index 47a947b..fd90d4f 100644 (file)
@@ -480,12 +480,12 @@ int MSG_comm_testany(xbt_dynar_t comms)
   int finished_index = -1;
 
   /* Create the equivalent array with SIMIX objects: */
-  std::vector<simgrid::kernel::activity::ActivityImplPtr> s_comms;
+  std::vector<simgrid::kernel::activity::CommImpl*> s_comms;
   s_comms.reserve(xbt_dynar_length(comms));
   msg_comm_t comm;
   unsigned int cursor;
   xbt_dynar_foreach(comms, cursor, comm) {
-    s_comms.push_back(comm->s_comm);
+    s_comms.push_back(static_cast<simgrid::kernel::activity::CommImpl*>(comm->s_comm.get()));
   }
 
   msg_error_t status = MSG_OK;
@@ -576,12 +576,12 @@ int MSG_comm_waitany(xbt_dynar_t comms)
   int finished_index = -1;
 
   /* Create the equivalent array with SIMIX objects: */
-  std::vector<simgrid::kernel::activity::ActivityImplPtr> s_comms;
+  std::vector<simgrid::kernel::activity::CommImpl*> s_comms;
   s_comms.reserve(xbt_dynar_length(comms));
   msg_comm_t comm;
   unsigned int cursor;
   xbt_dynar_foreach(comms, cursor, comm) {
-    s_comms.push_back(comm->s_comm);
+    s_comms.push_back(static_cast<simgrid::kernel::activity::CommImpl*>(comm->s_comm.get()));
   }
 
   msg_error_t status = MSG_OK;