Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
VM: code simplification by ensuring that the piface field is set
[simgrid.git] / src / simix / libsmx.cpp
index c50995f..f31aa0e 100644 (file)
@@ -26,6 +26,8 @@
 #include "mc/mc.h"
 #include "src/simix/smx_host_private.h"
 #include "src/kernel/activity/SynchroComm.hpp"
+#include "src/surf/virtual_machine.hpp"
+
 
 #include <simgrid/simix.hpp>
 
@@ -189,9 +191,14 @@ e_smx_state_t simcall_execution_wait(smx_activity_t execution)
  *
  * \return The host object of the VM
  */
-void* simcall_vm_create(const char *name, sg_host_t phys_host)
+sg_host_t simcall_vm_create(const char *name, sg_host_t phys_host)
 {
-  return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_create, name, phys_host));
+  return simgrid::simix::kernelImmediate([&] {
+    sg_host_t host = surf_vm_model->createVM(name, phys_host);
+    SIMIX_host_create(host);
+
+    return host;
+  });
 }
 
 /**