Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
port a blocking simcall to the modernity
[simgrid.git] / src / simix / libsmx.cpp
index 278a3ec..010360d 100644 (file)
@@ -39,9 +39,14 @@ bool simcall_execution_test(const smx_activity_t& execution)
   return simcall_BODY_execution_test(static_cast<simgrid::kernel::activity::ExecImpl*>(execution.get()));
 }
 
+unsigned int simcall_execution_waitany_for(simgrid::kernel::activity::ExecImpl* execs[], size_t count, double timeout)
+{
+  return simcall_BODY_execution_waitany_for(execs, count, timeout);
+}
+
 void simcall_process_join(smx_actor_t process, double timeout)
 {
-  simcall_BODY_process_join(process, timeout);
+  SIMIX_process_self()->join(process, timeout);
 }
 
 /**
@@ -342,10 +347,10 @@ const char *SIMIX_simcall_name(e_smx_simcall_t kind) {
 namespace simgrid {
 namespace simix {
 
-void unblock(smx_actor_t process)
+void unblock(smx_actor_t actor)
 {
   xbt_assert(SIMIX_is_maestro());
-  SIMIX_simcall_answer(&process->simcall);
+  actor->simcall_answer();
 }
 } // namespace simix
 } // namespace simgrid
@@ -363,12 +368,6 @@ void simcall_execution_cancel(smx_activity_t exec)
 {
   simgrid::simix::simcall([exec] { boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->cancel(); });
 }
-void simcall_execution_set_priority(smx_activity_t exec, double priority)
-{
-  simgrid::simix::simcall([exec, priority] {
-    boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->set_priority(priority);
-  });
-}
 
 void simcall_execution_set_bound(smx_activity_t exec, double bound)
 {
@@ -378,15 +377,15 @@ void simcall_execution_set_bound(smx_activity_t exec, double bound)
 
 // deprecated
 smx_activity_t simcall_execution_start(const std::string& name, const std::string& category, double flops_amount,
-                                       double priority, double bound, sg_host_t host)
+                                       double sharing_penalty, double bound, sg_host_t host)
 {
-  return simgrid::simix::simcall([name, category, flops_amount, priority, bound, host] {
+  return simgrid::simix::simcall([name, category, flops_amount, sharing_penalty, bound, host] {
     simgrid::kernel::activity::ExecImpl* exec = new simgrid::kernel::activity::ExecImpl();
     (*exec)
         .set_name(name)
         .set_tracing_category(category)
         .set_host(host)
-        .set_priority(priority)
+        .set_sharing_penalty(sharing_penalty)
         .set_bound(bound)
         .set_flops_amount(flops_amount)
         .start();