Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill two useless functions at once
[simgrid.git] / src / simix / libsmx.cpp
index c50995f..2fa37b7 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([&name, &phys_host] {
+    sg_host_t host = surf_vm_model->createVM(name, phys_host);
+    host->extension_set<simgrid::simix::Host>(new simgrid::simix::Host());
+
+    return host;
+  });
 }
 
 /**