/**
* @ingroup simix_comm_management
*/
-unsigned int simcall_comm_waitany(smx_activity_t* comms, size_t count, double timeout)
+unsigned int simcall_comm_waitany(smx_activity_t comms[], size_t count, double timeout)
+{
+ std::unique_ptr<simgrid::kernel::activity::CommImpl* []> rcomms(new simgrid::kernel::activity::CommImpl*[count]);
+ std::transform(comms, comms + count, rcomms.get(), [](const smx_activity_t& comm) {
+ return static_cast<simgrid::kernel::activity::CommImpl*>(comm.get());
+ });
+ return simcall_BODY_comm_waitany(rcomms.get(), count, timeout);
+}
+
+unsigned int simcall_comm_waitany(simgrid::kernel::activity::CommImpl* comms[], size_t count, double timeout)
{
return simcall_BODY_comm_waitany(comms, count, timeout);
}
if (count == 0)
return -1;
std::unique_ptr<simgrid::kernel::activity::CommImpl* []> rcomms(new simgrid::kernel::activity::CommImpl*[count]);
- std::transform(comms, comms + count, rcomms.get(), [](const smx_activity_t comm) {
+ std::transform(comms, comms + count, rcomms.get(), [](const smx_activity_t& comm) {
return static_cast<simgrid::kernel::activity::CommImpl*>(comm.get());
});
return simcall_BODY_comm_testany(rcomms.get(), count);
}
+int simcall_comm_testany(simgrid::kernel::activity::CommImpl* comms[], size_t count)
+{
+ if (count == 0)
+ return -1;
+ return simcall_BODY_comm_testany(comms, count);
+}
+
/**
* @ingroup simix_comm_management
*/