- process->iface()->suspend();
-}
-
-e_smx_state_t simcall_process_sleep(double duration) // XBT_DEPRECATED_v329
+ std::vector<simgrid::kernel::activity::ExecImpl*> execs_vec(execs, execs + count);
+ simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self();
+ simgrid::kernel::actor::ExecutionWaitanySimcall observer{issuer, execs_vec, timeout};
+ return simgrid::kernel::actor::simcall_blocking(
+ [&observer] {
+ simgrid::kernel::activity::ExecImpl::wait_any_for(observer.get_issuer(), observer.get_execs(),
+ observer.get_timeout());
+ },
+ &observer);
+}
+
+simgrid::kernel::activity::State simcall_process_sleep(double duration) // XBT_ATTRIB_DEPRECATED_v329